我有五个textview。每个人都有一个可见度已经消失的徽章。我希望当我按下按钮时,徽章一次出现一个,相互之间延迟2秒。这是我对onClick事件的实际代码:
public void checkAnswers(View v)
{
Handler handler = new Handler(Looper.getMainLooper());
fadeInAnimation = AnimationUtils.loadAnimation(activity_Trivia.this, R.anim.fade_in);
handler.postDelayed(new Runnable() {
@Override
public void run() {
badge1.startAnimation(fadeInAnimation);
badge1.setVisibility(View.VISIBLE);
}
}, 0);
handler.postDelayed(new Runnable() {
@Override
public void run() {
badge2.startAnimation(fadeInAnimation);
badge2.setVisibility(View.VISIBLE);
}
}, 2000);
handler.postDelayed(new Runnable() {
@Override
public void run() {
badge3.startAnimation(fadeInAnimation);
badge3.setVisibility(View.VISIBLE);
}
}, 4000);
handler.postDelayed(new Runnable() {
@Override
public void run() {
badge4.startAnimation(fadeInAnimation);
badge4.setVisibility(View.VISIBLE);
}
}, 6000);
handler.postDelayed(new Runnable() {
@Override
public void run() {
badge5.startAnimation(fadeInAnimation);
badge5.setVisibility(View.VISIBLE);
}
}, 8000);
}
问题在于,在第一次延迟后,当出现第二个徽章时,第一个徽章会隐藏并再次显示第二个徽章,依此类推。我想要第一个徽章,第二个徽章......在下一个徽章出现时保持可见。有任何想法吗?我搜索但没有出现。谢谢!
答案 0 :(得分:2)
为每个徽章创建一个单独的Animation
对象(每个徽章一次调用AnimationUtils.loadAnimation(...)
)。
这应该可以解决问题。