我正在为平板电脑创建布局,我有一个DrawerLayout
,左侧菜单上有一个Fragment
(所以抽屉),并且应该有两个片段作为主要内容。
我正在做的事情如下:
<?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 :(得分: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>
原因:
content_frame
,其高度和宽度等于match_parent