我有一个带有许多按钮和两个文本视图的布局(RelativeLayout)。对于信息的每次更改,我都会淡出所有视图,更新信息,然后淡入视图。我为此使用布局动画。
非常奇怪的是,文本视图只能动画一次。它们一次正确地淡入和淡出,然后就不再动画了。另一方面,按钮继续动画效果很好。
另一个可能奇怪的事情是我在 android 2.3.x 上没有遇到这个问题,但在 android 4.0.x 上。
我可以通过在淡入后清除文本视图上的动画来解决这个问题,但它看起来不太好,因为它们仍然没有淡入。
我曾尝试在淡入之前清除文本视图上的动画,但这无济于事。我还尝试了清单中 targetSdkVersion 属性的不同设置,但没有任何结果。
淡入动画(淡出类似):
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="750"
android:fillAfter="true"
android:fromAlpha="0.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toAlpha="1.0"
/>
动画代码(每次布局淡入时都会运行):
// Set listener.
viewGroup.setLayoutAnimationListener(listener);
// Load animation.
final Animation fadeIn = AnimationUtils.loadAnimation(context, R.anim.fade_in);
// Create and start animation controller.
final LayoutAnimationController animController = new LayoutAnimationController(fadeIn);
viewGroup.setLayoutAnimation(animController);
animController.setAnimation(fadeIn);
animController.setDelay(FADE_IN_DELAY + extraDelay);
animController.setOrder(LayoutAnimationController.ORDER_REVERSE);
animController.start();
有人有什么主意吗?Buttons 和 TextViews 之间是否存在某种特定于动画的区别?Android 4 中是否有任何动画更改破坏了向后兼容性?
谢谢!