我有一个线性布局,我希望它是动画后,3秒延迟使用Handler。
经过3秒之后,它甚至没有执行动画,也没有进入动画监听器的方法。
我就是这样做的:
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()方法工作良好。
我怎么才能让它起作用?
发布于 2015-03-25 20:30:22
你忘了打电话
loginBox.startAnimation(animTranslate)在启动loginBox.setVisibility(View.VISIBLE);之前,您可能需要TranslateAnimation
https://stackoverflow.com/questions/29265867
复制相似问题