我创建了Activity
并使用DrawerLayout
添加了侧边菜单。在DrawerLayout
内,我添加了ListView
,其中包含内容。到目前为止一切都很好我想通过添加具有暗淡背景的自定义视图为抽屉添加暗淡效果,但它似乎无法正常工作。
以下是活动的XML布局:
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- The first child in the layout is for the main Activity UI-->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
android:background="#ffffffff">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="SOME CONTENT"
android:textSize="24sp"
android:gravity="center"
android:layout_marginTop="100dp"/>
</RelativeLayout>
<!-- Side navigation drawer UI -->
<!-- this is the custom view that i want to add in order to dim the side menu -->
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#73000000"
android:id="@+id/view1"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<ListView
android:id="@+id/navList"
android:layout_width="270dp"
android:layout_height="match_parent"
android:layout_gravity="left|start"
android:background="@drawable/splash_background"/>
</android.support.v4.widget.DrawerLayout>
现在,它只会使活动的内容变暗,而不是抽屉本身。
答案 0 :(得分:3)
这是因为DrawerLayout
将其最后一个视图作为抽屉。所以你的上一个视图是ListView
,而昏暗的视图留给了内容。如果您想同时制作抽屉的ListView
和昏暗View
部分,则必须将它们包装在ViewGroup
中。尝试创建包含两个视图的RelativeLayout
。像这样的东西
<RelativeLayout
android:id="@+id/drawerContainer"
android:layout_width="270dp"
android:layout_height="match_parent"
android:layout_gravity="left|start">
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#73000000"
android:id="@+id/view1"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<ListView
android:id="@+id/navList"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/splash_background"/>
</RelativeLayout>