2012-02-20 66 views
1

我一直在遇到Android的SlidingDrawer的一些問題。我正在建造一個水平滑動抽屜的屏幕。它工作正常,它按預期開啓和關閉。我已將bottomOffset設置爲50dip,以便在抽屜關閉時看到50dpi的內容,但這種情況沒有發生。Android:SlidingDrawer與bottomOffset和內容可見

當抽屜關閉時,我看到屏幕右側與手柄之間的距離爲50dip,但內容視圖不可見,因此手柄和屏幕邊緣之間存在50dip的黑色空間,因爲下面顯示的圖像:

enter image description here

當我按下手柄按鈕,似乎內容獲取其可視性變得可見,然後appers。我想保持的內容可見,而不必按手柄,就像下面的IMAGEM:

enter image description here

我下載了SlidingDrawer源代碼http://blog.sephiroth.it/2011/03/29/widget-slidingdrawer-top-to-bottom/爲了嘗試改變代碼,並得到預期的結果,但我沒有得到。

的滑動抽屜的XML:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 

android:layout_width="fill_parent" 
android:layout_height="fill_parent"> 

<br.com.dina.partial.example.MultiDirectionSlidingDrawer 
    xmlns:my="http://schemas.android.com/apk/res/br.com.dina.partial.example" 
    android:id="@+id/map_slider" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_alignParentBottom="true" 
    my:handle="@+id/Handle" 
    my:content="@+id/ViewLayout" 
    my:direction="rightToLeft"   
    my:bottomOffset="-65dip" 
    android:layout_below="@+id/test"> 

    <Button android:id="@+id/Handle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="handle"/> 

    <LinearLayout android:id="@+id/ViewLayout" 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" > 

     <com.markupartist.android.widget.ActionBar 
      android:id="@+id/actionbar" 
      style="@style/ActionBar"/>  

     <FrameLayout android:id="@+id/ViewContent" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:background="@android:color/white" /> 

    </LinearLayout> 

</br.com.dina.partial.example.MultiDirectionSlidingDrawer> 

</RelativeLayout>  

有沒有一種方法可以達到我想要什麼?

非常感謝

編輯添加XML

+0

你能張貼SlidingDrawer的XML? – koopaking3 2012-02-20 17:18:33

回答

0

使用onDrawerScrollListeneronDrawerOpenListener,並且onDrawerCloseListener改變取決於抽屜的狀態某些項目的可見性。因此,當您說「抽屜已關閉......並且內容視圖不可見」時,您在onDrawerCloseListener中將內容視圖設置爲VISIBLE。試試這個,讓我知道它是怎麼回事。

編輯所以你沒有這樣的事?:

drawer.setOnDrawerCloseListener(new OnDrawerCloseListener(){ 
     @Override 
     public void onDrawerClosed() { 
      //get the ViewContent by id and set visibility to VISIBLE 
    }); 
+0

Hi @ koopaking3,我嘗試了你說的,但它不起作用。我不知道內容視圖正在發生什麼或發生了什麼,但它不會顯示。謝謝 – Thiago 2012-02-20 18:56:48

+0

我在上面添加了示例代碼...所以你做了類似的事情,它不起作用? – koopaking3 2012-02-20 20:06:06

+0

Hi @ koopaking3,是的,我做了同樣的事情,它不工作。看來問題不在於內容可見性,而在於內容位置(我認爲)。 – Thiago 2012-02-20 20:20:46