打开滑动抽屉有什么方法可以隐藏滑动抽屉的把手吗?我在触发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>
答案 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);