2011-09-01 66 views
4

打開滑動抽屜時,我可以如何隱藏滑動抽屜的手柄嗎?當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> 

回答

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。 希望這有助於。

3

下面的技巧爲我工作

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

如果我們這樣做,由於寬度和高度的原因,該把手將不可見。那麼你如何能夠處理SlidingDrawer的觸摸(或滑動)事件。如果你有一些解決方案,請讓我知道。 – Raj

+0

我爲handeling touch事件創建了一個按鈕。 – Samrakchan

0

我所做的就是手柄的ImageButton的圖像設置爲第一300x1或背景的這樣的像素,使得它在底部增加了一個額外的行不明顯。

0

我爲Google的SlidingDrawer小部件創建了一個完整的替代品。 http://www.github.com/kedzie/DraggableDrawers它允許沒有把手的抽屜(可通過編程方式打開)或簡單調用drawer.getHandle().setVisibility(GONE);