基本上,在我的活动中,有两个竞争,一个是动画的表面视图,另一个是带动画的按钮。
最初我在表面视图中创建了一个异步任务,并在'onprogressupdate'方法中“绘制”了它。根据我的理解,这就是它的意图。
然而,每当我按下按钮动画时,曲面视图就会停止,好像按钮的动画正在停止曲面视图的动画,这似乎是合乎逻辑的。
为了克服这个问题,我把'draw'放回'背景中运行'。我觉得这显然是错的。有没有办法可以运行这两个动画而不会相互阻挡?
答案 0 :(得分:1)
您不应该从UI线程外部访问Android UI工具包。如果您想直接从UI thrad外部操作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();
}