繁体   English   中英

如何在不阻塞主线程的情况下获得流畅的动画?

[英]How to have a smooth animation without blocking Main thread?

基本上,在我的活动中,有两个方法,一个是动画的表面视图,另一个是具有动画的按钮。

最初,我在表面视图中创建了一个异步任务,并在“ onprogressupdate”方法中对其进行了“绘制”。 据我了解,这就是它的含义。

但是,每当我按下该按钮动画时,表面视图就会停止,就好像按钮的动画正在停止表面视图的动画一样,这似乎是合乎逻辑的。

为了克服这个问题,我将“抽奖”放回“后台运行”中。 我感觉这显然是错误的。 有没有办法我可以运行两个动画而又不会互相阻塞?

您不应从UI线程外部访问Android UI工具包。 如果要直接从UI界面外部操作View ,则应改用View.post(Runnable) 例如,

public void onClick(View v) {
    new Thread(new Runnable() {
        public void run() {
            mButton.post(new Runnable() {
                public void run() {
                    // do something here
                }
            });
        }
    }).start();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM