0

可能很简单,但我无法弄清楚。

我有一个 SlidingDrawer 的子类,只是为了正确处理高度。
(感谢@seydhe的解决方案)

问题是,当我打开抽屉时,高度设置不正确,
只要我的手指从把手上抬起,它就会被设置。
在我开始拉抽屉之前,如何让 SlidingDrawer 设置高度?

我尝试了各种组合slidingDrawerRight.requestLayout(); 并且它有效。问题是我在哪里可以调用它?我已经在不同的地方尝试过,比如
OnClickListener OnTouchListener
OnDrawerCloseListener 但我无法让它工作

也许有一种方法可以修复 xml 来做到这一点?

添加树图像和 xml。

如下图nr:1所示,
我开始打开抽屉,大小不规则:

NR1:打开时的图像..

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>
4

1 回答 1

0

回答我自己的问题。
我像这样将背景设置为透明

android:background="@null" 

看起来不错,奇怪的调整大小行为仍然发生,但它不可见。

于 2011-07-10T06:01:14.630 回答