以编程方式隐藏滑动抽屉的手柄

时间:2011-09-01 05:54:19

标签: android hide handle sliding drawer

打开滑动抽屉有什么方法可以隐藏滑动抽屉的把手吗?我在触发OnDrawerOpenListener时尝试使用setVisibility(View.GONE)方法,但句柄仍然可见。是否可以隐藏抽屉的把手或它总是可见?这是我的滑动抽屉的xml片段:

        <SlidingDrawer android:layout_width="wrap_content"
        android:id="@+id/notifDrawer" android:handle="@+id/notifHandle"
        android:content="@+id/notifContent" android:layout_height="fill_parent"
        android:orientation="horizontal">
        <LinearLayout android:id="@+id/notifHandle"
            android:layout_width="wrap_content" android:layout_height="fill_parent"
            android:background="@drawable/button_selected" android:orientation="vertical"
            android:padding="0dip" android:gravity="center">
            <TextView android:id="@+id/notification_count"
                android:visibility="gone" android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:textSize="10sp"
                android:textStyle="bold" android:textColor="#FFFFFF"
                android:gravity="center" android:background="@drawable/badge">
            </TextView>
        </LinearLayout>
        <ListView android:id="@+id/notifContent"
            android:layout_width="fill_parent" android:layout_height="fill_parent"
            android:background="#C0C0C0" android:divider="@drawable/divider"
            android:fadingEdge="none">
        </ListView>
    </SlidingDrawer>

4 个答案:

答案 0 :(得分:3)

以下技巧为我工作

    <Button
      android:id="@+id/handle"
      android:layout_width="0dp"
      android:layout_height="0dp"
      android:background="#00000000" />

答案 1 :(得分:2)

我在下面做的是能够隐藏句柄:

<LinearLayout android:layout_width="fill_parent"
        android:layout_height="fill_parent" android:gravity="bottom"
        android:orientation="vertical">
        <SlidingDrawer android:layout_width="fill_parent"
            android:id="@+id/drawerShare" android:handle="@+id/slideHandleButton2"
            android:content="@+id/contentLayout" android:layout_height="fill_paren`enter code here`t"
            android:orientation="horizontal">

            <Button android:layout_width="0px" android:layout_height="0px"
                android:id="@+id/slideHandleButton2">
            </Button>
....

我将定义为我的句柄的按钮的layout_width和layout_height设置为0px。 希望这可以帮助。

答案 2 :(得分:0)

我所做的是将手柄ImageButton的图像设置为背景的前300x1左右像素,这样它在底部添加了一条不明显的额外线条。

答案 3 :(得分:0)

我为Google的SlidingDrawer小部件创建了一个完整的替代品。 http://www.github.com/kedzie/DraggableDrawers它允许没有句柄的抽屉(以编程方式打开)或简单调用drawer.getHandle().setVisibility(GONE);