gpt4 book ai didi

android - 动画不会在 postDelayed run() 中被调用

转载 作者:搜寻专家 更新时间:2023-11-01 08:45:03 25 4
gpt4 key购买 nike

我有一个线性布局,我希望它在使用 Handler 延迟 3 秒后进行动画处理。

过了3秒后,它甚至没有执行动画,也没有进入AnimationListener的方法。

这是我的做法:

    loginBox.setVisibility(View.GONE);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {

Animation animTranslate = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.translate);
animTranslate.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}

@Override
public void onAnimationEnd(Animation animation) {
loginBox.setVisibility(View.VISIBLE);
Animation animFade = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.fade);
loginBox.startAnimation(animFade);
}

@Override
public void onAnimationRepeat(Animation animation) {
}
});

btnContinue.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(getApplicationContext(), MainActivity.class);
startActivity(i);

finish();
}
});


}
}, 3000);

当我单击 btnContinue 时,run() 方法工作正常。

我怎样才能让它发挥作用?

最佳答案

你忘了打电话

loginBox.startAnimation(animTranslate)

可能您需要 loginBox.setVisibility(View.VISIBLE); 在开始 TranslateAnimation

之前

关于android - 动画不会在 postDelayed run() 中被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29265867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com