我希望淡入一个元素,但是在某种程度上它被隐藏(GONE
)变为可见,从而移走了元素。我目前使用的动画是AlphaAnimation
Animation fadeIn = new AlphaAnimation(0, 1);
fadeIn.setInterpolator(new DecelerateInterpolator());
fadeIn.setDuration(2000);
但这只会将其设置为INVSIBLE
到VISIBLE
,我想要的是将其设置为GONE
到VISIBLE
。
这是否可能,或者我是否必须通过动画周围的元素来使这更复杂?
答案 0 :(得分:2)
GONE和INVISIBLE之间的区别在于,当视图无形时,布局仍将其视为存在,GONE导致布局发生变化。因此,将阿尔法从GONE动画到VISIBLE并不能让它真正有意义。
Android为您提供了一个开箱即用的相当不错的动画。您只需告诉它为您设置布局更改动画。因此,只需将视图的可见性从GONE设置为VISIBLE即可自动启用此功能。
<LinearLayout android:id="@+id/container"
android:animateLayoutChanges="true"
...
/>
碰巧,这个动画将其他组件分开以腾出空间,然后在有问题的视图中消失,所以可能是你之后的事情。
有关详细信息,请参阅http://developer.android.com/training/animation/layout.html。