【发布时间】:2020-04-23 10:48:56
【问题描述】:
这是我的代码:
AlphaAnimation anim_fadeIn;
Button button, button2;
TextView t, e;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
t = findViewById(R.id.text_Splash_t);
e = findViewById(R.id.text_Splash_e);
button = findViewById(R.id.button);
button2 = findViewById(R.id.button2);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mAnimate();
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mAnimate2();
}
});
anim_fadeIn = new AlphaAnimation(0.0f, 1.0f);
anim_fadeIn.setDuration(1000);
anim_fadeIn.setFillAfter(true);
private void mAnimate() {
t.startAnimation(anim_fadeIn);
}
private void mAnimate2() {
e.startAnimation(anim_fadeIn);
}
场景:
按下 button1 和 text1 将动画(即使你做了几次)。然后按 button2 将在某处添加视图,因此无论您按 button1 还是 2,两个文本都会动画
场景 2:
按下 button2 和 text2 将动画(即使你做了几次)。然后按 button1 将在某处添加视图,因此无论您按 button1 还是 2,两个文本都会动画。
如何避免这个问题
【问题讨论】:
-
首先,为什么要在单独的线程中运行 onClick 侦听器中的代码,然后立即将 mAnimate 和 mAnimate2 中的执行返回给 UI 线程?
-
我编辑问题。活动比这更复杂,我只写了必要的,以帮助您专注于真正的问题。不是绕线,已经试过了
标签: java android animation view