11

我在布局上有一个 ImageButton 视图。如果用户单击 ImageButton,则该按钮应淡出。

按钮淡出动画将像这样开始:

public void buttonClicked(View aButton){

    final Animation aAnim = new AlphaAnimation(1.0f, 0.0f);
    aAnim.setDuration(500);

    aButton.startAnimation(aAnim);

}

这可行,但是一旦 ImageButton 淡出,它的 Alpha 值就会立即跳回 1.0,并且该按钮再次可见。

我用一个动画监听器暂时解决了这个问题,它在动画结束时将 ButtonImage 设置为不可见,但这对我来说似乎是一个奇怪的解决方案。

我该怎么做才能将按钮 Alpha 值保持在动画的最后一个值?

谢谢你。

4

3 回答 3

27

尝试使用aAnim.setFillAfter(true);

于 2012-05-25T14:31:53.653 回答
3

如果要在动画完成时设置新值,则必须将“setFillAfter”设置为 true。

public void buttonClicked(View aButton){    
    final Animation aAnim = new AlphaAnimation(1.0f, 0.0f);
    aAnim.setDuration(500);

    aAnim.setFillAfter(true);
    aButton.startAnimation(aAnim);
}
于 2012-12-02T07:09:36.223 回答
0
于 2019-05-13T14:11:06.780 回答