我正在开发一个有四个可能答案的问题游戏。每个答案都是一个 TextView。我想要的是,在用户选择一个答案之后,在显示下一个问题之前,与答案相关的文本框离开屏幕,右边有一个动画,但以顺序的方式有一点延迟。下面是一个例子:
---------
| Answer 1 |
----------
---------
| Answer 2 |
----------
----------
| Answer 3 |
----------
为了安排每个答案视图的动画开始,在一定的延迟后,我使用 Handler 类。问题是,当运行代码时,视图离开屏幕不是按顺序延迟,它们同时离开屏幕,我没有得到想要的效果。显然我已经尝试增加延迟,但它不能解决问题。这是我使用的代码片段:
TextView answerViewA = (TextView) findViewById(R.id.textViewAnswerA);
TextView answerViewB = (TextView) findViewById(R.id.textViewAnswerB);
TextView answerViewC = (TextView) findViewById(R.id.textViewAnswerC);
TextView answerViewD = (TextView) findViewById(R.id.textViewAnswerD);
ArrayList<TextView> answerViewCollection = new ArrayList<TextView>(
4);
answerViewCollection.add(answerViewA);
answerViewCollection.add(answerViewB);
answerViewCollection.add(answerViewC);
answerViewCollection.add(answerViewD);
final Animation exitAnim = AnimationUtils.makeOutAnimation(
mContext, true);
final int delay = 200;
for (int i = 0; i < answerViewCollection.size(); i++) {
final View auxView = answerViewCollection.get(i);
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
auxView.startAnimation(exitAnim);
}
}, delay * i);
}
我的限制是:android:minSdkVersion="10"
. 我很感激任何建议:)