android中的简单动画冲突

android中的简单动画冲突,android,animation,android-view,Android,Animation,Android View,我实现了一个自定义视图。这个视图非常简单,只有两个状态(带边框和不带边框),它们通过ontouch事件切换(按下时带边框,按下时不带边框) 这是毫无问题的。当我想向用户显示一个序列时,问题就出现了(因此,禁用touchevents,并手动设置视图状态的更改) 我的布局中有4个这种类型的视图,我只想切换视图的状态,以便用户可见 MyView v1 = (MyView)findViewById(...) MyView v2 = (MyView)findViewById(...) MyView v3

我实现了一个自定义视图。这个视图非常简单,只有两个状态(带边框和不带边框),它们通过ontouch事件切换(按下时带边框,按下时不带边框)

这是毫无问题的。当我想向用户显示一个序列时,问题就出现了(因此,禁用touchevents,并手动设置视图状态的更改)

我的布局中有4个这种类型的视图,我只想切换视图的状态,以便用户可见

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个勾号,以便在所需时间内更改模式)