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

来源:互联网 发布:人工智能招聘信息 编辑:程序博客网 时间:2024/05/16 07:40

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

原代码如下:

 @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();        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初学者-言小诺


阅读全文
1 0