我想知道为什么在我的按钮下面的代码giftFinal没有得到他的alpha回来。执行后,按钮文本不可见。甚至没有设置文本颜色或背景颜色:
final float alpha=giftFinal.getAlpha();
Animation fadeOut = new AlphaAnimation(1, 0);
fadeOut.setStartOffset(30000);
fadeOut.setDuration(2000);
fadeOut.setFillAfter(true);
fadeOut.setAnimationListener(new AnimationListener(){
@Override
public void onAnimationEnd(Animation animation) {
if(help!=null) {
//palce old help text back again
giftFinal.setText(help);
giftFinal.setTextColor(Color.BLACK);
giftFinal.setBackgroundColor(Color.WHITE);
giftFinal.setAlpha(alpha);
giftFinal.setVisibility(View.VISIBLE);
}
}
@Override
public void onAnimationRepeat(Animation animation) {}
@Override
public void onAnimationStart(Animation animation) {}
});
giftFinal.startAnimation(fadeOut);
答案 0 :(得分:1)
这是因为您已将 setFillAfter 设置为 true 。根据{{3}},“如果fillAfter为true,则此动画执行的转换将在完成时保留。如果未设置,则默认为false。”因此请删除fadeOut.setFillAfter(true)
或将其更改为fadeOut.setFillAfter(false)
。