我试图点击按钮上的动画。它只工作了一次。我使用的动画是Alpha.It在按钮点击之外工作。任何人都可以找到这种奇怪行为的原因?
代码:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AlphaAnimation alphaAnimation=new AlphaAnimation(1.0f,0.0f);
alphaAnimation.setDuration(2000);
button.setAnimation(alphaAnimation);
alphaAnimation.start();
alphaAnimation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
Log.e("Alpha","a");}
});
答案 0 :(得分:1)
使用startAnimation。
来自官方文件:
void setAnimation(动画动画)
设置要为此视图播放的下一个动画。如果您想立即播放动画,请改用startAnimation(android.view.animation.Animation)。此方法允许对开始时间和失效进行细粒度控制,但您必须确保1)动画具有开始时间设置,以及2)视图的父级(控制其子级上的动画)将当动画应该开始时无效。
以下是一个示例代码段。
AlphaAnimation alphaAnimation = new AlphaAnimation(1.0f,0.0f);
alphaAnimation.setDuration(2000);
alphaAnimation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
button.startAnimation(alphaAnimation);