android中的简单动画冲突
我实现了一个自定义视图。这个视图非常简单,只有两个状态(带边框和不带边框),它们通过ontouch事件切换(按下时带边框,按下时不带边框) 这是毫无问题的。当我想向用户显示一个序列时,问题就出现了(因此,禁用touchevents,并手动设置视图状态的更改) 我的布局中有4个这种类型的视图,我只想切换视图的状态,以便用户可见android中的简单动画冲突,android,animation,android-view,Android,Animation,Android View,我实现了一个自定义视图。这个视图非常简单,只有两个状态(带边框和不带边框),它们通过ontouch事件切换(按下时带边框,按下时不带边框) 这是毫无问题的。当我想向用户显示一个序列时,问题就出现了(因此,禁用touchevents,并手动设置视图状态的更改) 我的布局中有4个这种类型的视图,我只想切换视图的状态,以便用户可见 MyView v1 = (MyView)findViewById(...) MyView v2 = (MyView)findViewById(...) MyView v3
MyView v1 = (MyView)findViewById(...)
MyView v2 = (MyView)findViewById(...)
MyView v3 = (MyView)findViewById(...)
MyView v4 = (MyView)findViewById(...)
v1.switchMode()
v2.switchMode()
v3.switchMode()
v4.switchMode()
此开关应保持一段时间(1秒)以便用户可见。模式通过布尔变量实现。我的实现如下:
public void switchMode()
this.mode = false;
this.invalidate();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
this.mode = true;
this.invalidate();
}
似乎我的睡眠是一个全线程睡眠,所以我的视图没有重新绘制,我保持4秒钟,没有任何响应和视图更改
关于如何实现这种简单的状态切换,有什么线索吗
提前谢谢你我找到了解决那个问题的好方法。
倒计时按我所希望的方式运行:它提供了一个接口,可以在任意操作上设置计时器,并提供了一个勾号控制器,在该操作中引入一些可变性(对于我的情况,我可以在所有时间内设置2个勾号,以在所需时间内更改模式)。我找到了一个很好的方法来解决这个问题。 CountdowntTimer根据我的需要进行操作:它提供了一个接口来设置任意动作的计时器,并提供了一个勾号控制器来在该动作中引入一些可变性(对于我的情况,我可以在所有时间内设置2个勾号,以便在所需时间内更改模式)