我正在设置“菜单展开”动画。扩展选项是 2RelativeLayout
嵌套在一个垂直的LinearLayout
. TranslateAnimation
应用于周围环境并使LinearLayout
选项从底部扩展。
问题是只RelativeLayout
显示第一个嵌套。第二个在没有动画的情况下变得可见。
下面是相关的 XML 布局、应用动画的方法和调用。非常感谢您的想法
<LinearLayout
android:id="@+id/bmb_navigation_expanded"
style="@style/bmb_RelativeLayout"
android:layout_above="@id/bmb_bottom_bar"
android:orientation="vertical"
android:visibility="gone" >
<RelativeLayout
style="@style/bmb_RelativeLayout">
option 1 stuff
</RelativeLayout>
<RelativeLayout
style="@style/bmb_RelativeLayout">
option 2 stuff
</RelativeLayout>
</LinearLayout>
将动画应用到 LinearLayout 的方法:
public static void setSlideIn(ViewGroup panel, Context ctx) {
AnimationSet set = new AnimationSet(false);
Animation animation = new TranslateAnimation(
Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f,
Animation.RELATIVE_TO_SELF, 1.0f, Animation.RELATIVE_TO_SELF, 0.0f
);
animation.setDuration(200);
set.addAnimation(animation);
LayoutAnimationController controller = new LayoutAnimationController(set, 0);
panel.setLayoutAnimation(controller);
}
这就是我所说的动画:
layout.setVisibility(View.VISIBLE);
setSlideIn(layout, getActivity());