我在布局上有一个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 值保持在动画的最后一个值?
谢谢。
尝试使用aAnim.setFillAfter(true);
在动画完成后设置新值,则必须将"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);
}
您还应该在XML上检查这一点,在某些情况下会发生
android:animateLayoutChanges="true"