Gridlayout(它在相对布局中居中)
<GridLayout
android:id="@+id/ticketLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/pile"
android:visibility="gone"
android:animateLayoutChanges="true" >
<!-- some content -->
现在,当我看到它时
ticketLayout.setVisibility(View.VISIBLE);
它只是出现,根本没有动画。我错过了什么吗?
答案 0 :(得分:1)
此处没有默认动画。为了达到你想要的效果,我认为你需要在gridview的alpha属性上播放动画。 根据您要支持的最低API,您可以使用旧动画系统或新动画系统,甚至使用NineOldAndroids。
animateLayoutChange标志指定如果在此网格视图中动态添加视图,系统将必须播放默认动画。 (很可能是衰落效应)它对网格视图本身没有帮助。
答案 1 :(得分:1)
您需要为View
设置动画。
你可以这样做,例如:
mticketLayout.setAlpha(0f);
mticketLayout.setVisibility(View.VISIBLE);
// Animate the content view to 100% opacity, and clear any animation
// listener set on the view.
mticketLayout.animate()
.alpha(1f)
.setDuration(mShortAnimationDuration)
.setListener(null);
查看Android培训:http://developer.android.com/training/animation/crossfade.html