2015-04-22 77 views
2

我正在創建平板電腦的佈局,並且我有一個DrawerLayout,它在左側菜單上有一個Fragment(如此抽屜),並且應該有兩個片段作爲主要內容。Android:帶有兩個片段的內容視圖的DrawerLayout

我做它的方式如下:

<?xml version="1.0" encoding="utf-8"?> 

<FrameLayout 
     android:id="@+id/content_frame" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="3"/> 

    <View 
     android:id="@+id/right_card_group_divider" 
     android:layout_width="1dip" 
     android:layout_height="match_parent" 
     android:background="@drawable/grey_line_bg"/> 

    <FrameLayout 
     android:id="@+id/menu_frame_two" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1.3"/> 
</LinearLayout> 

<!-- The navigation drawer --> 
<FrameLayout 
    android:id="@+id/menu_frame" 
    android:layout_width="300dp" 
    android:layout_gravity="start" 
    android:layout_height="match_parent"/> 
</android.support.v4.widget.DrawerLayout> 

不過,我注意到,如果我手動隱藏 「menu_frame_two」,該DrawerLayout作品完美,但如果Fragment沒有隱藏,那麼當打開DrawerLayout時,屏幕上不顯示任何內容:它會變暗,就像抽屜已被打開一樣。

爲什麼左側抽屜菜單沒有顯示?

回答

0

menu_frame_two的FrameLayout似乎過來的menu_frame抽屜式導航欄。所以導航抽屜是不可見當時

解決方案:

  • 使用單FrameLayout,並將其添加
<FrameLayout android:id = "@+id/content_frame"   
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 
    <FrameLayout 
    android:id="@+id/content_frame_inside" 
    android:layout_width="0dp" 
    android:layout_height="match_parent" 
    android:layout_weight="3"/> 

<View 
    android:id="@+id/right_card_group_divider" 
    android:layout_width="1dip" 
    android:layout_height="match_parent" 
    android:background="@drawable/grey_line_bg"/> 

<FrameLayout 
    android:id="@+id/menu_frame_two" 
    android:layout_width="0dp" 
    android:layout_height="match_parent" 
    android:layout_weight="1.3"/> 
</FrameLayout> 

原因裏面主要內容屏的所有elemets:

  • 作爲每Documentation應該有一個與content_frame高度和寬度等於match_parent