可能很简单,但我无法弄清楚。
我有一个 SlidingDrawer 的子类,只是为了正确处理高度。
(感谢@seydhe的解决方案)
问题是,当我打开抽屉时,高度设置不正确,
只要我的手指从把手上抬起,它就会被设置。
在我开始拉抽屉之前,如何让 SlidingDrawer 设置高度?
我尝试了各种组合slidingDrawerRight.requestLayout();
并且它有效。问题是我在哪里可以调用它?我已经在不同的地方尝试过,比如
OnClickListener OnTouchListener
OnDrawerCloseListener
但我无法让它工作
。
也许有一种方法可以修复 xml 来做到这一点?
添加树图像和 xml。
如下图nr:1所示,
我开始打开抽屉,大小不规则:
NR1:打开时的图像..
NR2: Image when fully opened as soon as i let go of finger.
当 SD 背景设置为 #eeffae 且 RelativLayout 背景为 @null 时的 nr3 图像
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/RelativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical">
<Gallery xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/examplegallery"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<RelativeLayout
android:id="@+id/InnerRelativeLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true" >
<Button
android:id="@+id/btn_newpen_drawtext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Pen"
/>
<EditText
android:id="@+id/etx_addtext_drawtext"
android:layout_width="fill_parent"
android:layout_toLeftOf="@+id/btn_delete_pen"
android:layout_toRightOf="@+id/btn_newpen_drawtext"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="Enter text here"
/>
<Button
android:id="@+id/btn_delete_pen"
android:layout_toLeftOf="@+id/btn_save_drawtext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Del"
/>
<Button
android:id="@+id/btn_save_drawtext"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="save"
/>
</RelativeLayout>
<LinearLayout android:id="@+id/linearLayoutSlidingDrawerRight"
android:layout_width="150dip"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
>
<com.bollen.sppik.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">
<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="fill_parent"
android:id="@+id/contentLayout2"
android:orientation="vertical"
android:background="#C0C0C0"
>
<ImageButton android:id="@+id/btn_A"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Button_A"
android:background="@android:color/transparent"
android:src="@drawable/right_drawer"
android:onClick="btnAListener">
</ImageButton>
<ImageButton android:id="@+id/btn_B"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_below="@+id/btn_A"
android:text="Button_B"
android:background="@android:color/transparent"
android:src="@drawable/right_drawer"
android:onClick="btnBListener">
</ImageButton>
</RelativeLayout>
</com.bollen.sppik.editimage.WrappingSlidingDrawer>
</LinearLayout>
</RelativeLayout>