android为什么是子类滑动抽屉高度表现不好?

时间:2011-06-26 16:54:06

标签: android slidingdrawer

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

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

问题是当我打开抽屉时,高度设置不正确,
一旦我从手柄上拔出手指,它就会固定下来 在开始拉抽屉之前,如何让SlidingDrawer设置高度?

我尝试了各种组合slidingDrawerRight.requestLayout(); 它的工作原理。问题是我可以在哪里调用它? 我曾尝试过各种各样的地方 OnClickListener
OnTouchListener
OnDrawerCloseListener
但我无法让它发挥作用。 也许有办法修复xml来做到这一点?

添加树图像和xml。

如下图所示:nr:1,
 我开始打开抽屉 而且规模不规则:

NR1:打开时的图像..

 nr1 Image when being opened

NR2: Image when fully opened as soon as i let go of finger.

enter image description here

nr3 SD背景设置为#eeffae且RelativLayout背景为@null时的图像

enter image description here

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

1 个答案:

答案 0 :(得分:0)

回答我自己的问题 我将背景设置为透明,如此

android:background="@null" 

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