一直在寻找一个解决方案,我部分得到了它,但仍然需要问... 我用手指打开抽屉 通过代码即可在用户指向任何图标后关闭抽屉。
宽度= 110是因为抽屉里有3个图标,我希望它们留下来 在右侧,如下图所示。
我正在使用这个
<translate android:fromXDelta="80%" android:toXDelta="100%" android:duration="300"/>
这种方法有效但在关闭后会再次弹出。为什么..
将width = 110写成石头并不好,但我无法想出来 这个时候更好的解决方案。 text_ball,delete_ball和plus_ball都是 一套ldpi,hdpi和mdpi。
抱歉,如果这听起来像是两个问题。只是尝试输入尽可能多的信息来烹饪正确的答案。
<LinearLayout android:id="@+id/linearLayoutSlidingDrawerRight"
android:layout_width="110dip"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
>
<com.bent.solid.editimage.WrappingSlidingDrawer android:id="@+id/slidingDrawerRight"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:handle="@+id/slideHandleButtonRight"
android:content="@+id/contentLayout2"
android:orientation="horizontal"
android:background="@null">
<ImageButton android:id="@+id/slideHandleButtonRight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/icon"
android:onClick="btnSlidingDrawerHandler">
</ImageButton>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/contentLayout2"
android:orientation="vertical"
android:background="@null"
>
<ImageButton android:id="@+id/btn_A"
android:layout_height="60dip"
android:layout_width="60dip"
android:text="Button_A"
android:background="@android:color/transparent"
android:src="@drawable/plus_ball"
android:onClick="btnAListener"
android:gravity="right"
android:scaleType="fitXY">
</ImageButton>
<ImageButton android:id="@+id/btn_B"
android:layout_height="60dip"
android:layout_width="60dip"
android:layout_below="@+id/btn_A"
android:text="Button_B"
android:background="@android:color/transparent"
android:src="@drawable/text_ball"
android:gravity="right"
android:onClick="btnBListener"
android:scaleType="fitXY">
</ImageButton>
<ImageButton android:id="@+id/btn_C"
android:layout_height="60dip"
android:layout_width="60dip"
android:layout_below="@+id/btn_B"
android:text="Button_B"
android:background="@android:color/transparent"
android:src="@drawable/delete_ball"
android:gravity="right"
android:onClick="btnCListener"
android:scaleType="fitXY">
</ImageButton>
</RelativeLayout>
</com.bent.solid.editimage.WrappingSlidingDrawer>
</LinearLayout>
答案 0 :(得分:1)
如果我理解正确,你的问题可以大大简化:
我正在运行动画,在动画结束时,布局未处于最终动画状态;它会返回原来的状态。我该如何阻止它?
在代码中,假设anim
是您的动画变量,只需在开始动画之前调用anim.setFillAfter(true);
。