设置导航抽屉的背景颜色

时间:2013-06-13 16:48:27

标签: android navigation-drawer

我想在java中设置导航抽屉的背景颜色,但它看起来像setBackgroundColor,并且所有类似的方法都没有效果。 只有XML行android:background="@color/mycolor"正在运行。如果删除xml行并尝试其中一种方法,抽屉就会保持透明。

有什么想法吗?

3 个答案:

答案 0 :(得分:68)

在您的activity_main.xml中包含以下内容

<android.support.design.widget.NavigationView
    android:id="@+id/navigation_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    app:headerLayout="@layout/navigation_drawer_header"
    app:menu="@menu/menu_drawer"
    android:background="@color/color_navigation_list_background"
    app:itemIconTint="@color/color_selector_navigation_item"
    app:itemTextColor="@color/color_selector_navigation_item"/>

答案 1 :(得分:26)

我刚解决了自己的问题。

我完全忘记了DrawerLayout我想要设置背景,而不是ListView里面。

我承认,如果没有在我的帖子中添加代码,我会让你们觉得有点困难.-

所以而不是:

private DrawerLayout mDrawerLayout;
(...)
mDrawerLayout.setBackgroundResource(int);

我必须这样做:

private ListView mDrawerList;
(...)
mDrawerList.setBackgroundResource(int);

答案 2 :(得分:1)

将导航抽屉投射到navigationView并执行以下操作

 navigationView.setBackgroundColor(getResources().getColor(R.color.colorPrimaryDark));