【问题标题】:button alpha not restored after animation动画后未恢复按钮 alpha
【发布时间】:2015-01-02 13:16:45
【问题描述】:

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

【问题讨论】:

  • help 是否分配了非空值?代码里没有?

标签: android button alpha textcolor


【解决方案1】:

这是因为您已将 setFillAfter 设置为 true。根据documentation“如果 fillAfter 为 true,则此动画执行的转换将在完成后持续存在。如果未设置,则默认为 false。” 所以删除 fadeOut.setFillAfter(true) 或将其更改为fadeOut.setFillAfter(false).

【讨论】:

    猜你喜欢
    • 2015-11-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多