0

一直在寻找解决方案,我部分得到了它,但仍然需要问..
我用手指打开抽屉。
通过代码在用户指向任何图标后关闭抽屉。

width=110 是因为抽屉中有 3 个图标,我希望它们保持在右侧,如下图所示。

我用这个

<translate android:fromXDelta="80%" android:toXDelta="100%" android:duration="300"/>

它有点工作,但在它关闭后,它会再次弹出。为什么..

用石头写宽度= 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>
4

1 回答 1

1

如果我理解正确,您的问题可以大大简化为:

我正在运行动画,并且在动画结束时,布局未处于最终动画状态;相反,它会返回到其原始状态。我该如何阻止这个?

在代码中,假设anim是您的动画变量,只需anim.setFillAfter(true);在开始动画之前调用。

于 2011-07-10T10:47:08.203 回答