动画后按钮alpha未恢复

时间:2015-01-02 13:16:46

标签: android button alpha textcolor

我想知道为什么在我的按钮下面的代码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);

1 个答案:

答案 0 :(得分:1)

这是因为您已将 setFillAfter 设置为 true 。根据{{​​3}},“如果fillAfter为true,则此动画执行的转换将在完成时保留。如果未设置,则默认为false。”因此请删除fadeOut.setFillAfter(true)或将其更改为fadeOut.setFillAfter(false)