美文网首页
Android在onCreat方法例运行帧动画卡在第一帧的简洁解

Android在onCreat方法例运行帧动画卡在第一帧的简洁解

作者: 稀饭_言小诺 | 来源:发表于2017-11-14 18:15 被阅读0次

由于今天需要在开启软件时运行帧动画,便将代码放在了onCreate方法里,结果运行卡在了第一帧。


原代码如下:

protected void onCreate(Bundle savedInstanceState) {  
       super.onCreate(savedInstanceState);  
       setContentView(R.layout.activity_main);  
  
       final ImageView iv = findViewById(R.id.iv);  
  
       iv.setBackgroundResource(R.drawable.myan);  
  
       final AnimationDrawable animationDrawable= (AnimationDrawable) iv.getBackground();  
  
       new Thread(new Runnable() {  
           @Override  
           public void run() {  
               SystemClock.sleep(20);  
  
  
               animationDrawable.start();  
  
           }  
       }).start();  
  
  
   }  

将new Thread()改成iv.post()即可,如下:

@Override  
   protected void onCreate(Bundle savedInstanceState) {  
       super.onCreate(savedInstanceState);  
       setContentView(R.layout.activity_main);  
         
       final ImageView iv = findViewById(R.id.iv);  
  
       iv.setBackgroundResource(R.drawable.myan);  
  
    
       final AnimationDrawable animationDrawable= (AnimationDrawable) iv.getBackground();  
        
        //这里修改
       iv.post(new Runnable() {  
           @Override  
           public void run() {  
               SystemClock.sleep(20);  
  
  
               animationDrawable.start();  
  
           }  
       });  
  
  
   }  

成功运行。

Android初学者-稀饭_言小诺

相关文章

网友评论

      本文标题:Android在onCreat方法例运行帧动画卡在第一帧的简洁解

      本文链接:https://www.haomeiwen.com/subject/vmbfvxtx.html