设置导航抽屉的背景颜色。

44

我想在Java中设置导航抽屉的背景颜色,但是似乎setBackgroundColor和所有类似的方法都没有效果。只有XML行android:background="@color/mycolor"起作用。如果删除XML行并尝试其中一种方法,则抽屉只会保持透明。

有什么想法吗?


你尝试过使用setBackgroundResource(R.color.mycolor)吗? - a_schimpf
什么意思?来自左边的视图?它会采用你放置在其中的视图的颜色,那么问题是什么? - Stephane Mathis
抱歉大家,我没有把代码放在那里。我刚解决了我的问题。不管怎样,谢谢大家:D - mike.b93
3个回答

92

在你的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"/>

28

我刚刚解决了自己的问题。

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

我承认没有在我的帖子中添加代码会让你们有些困难 -.-'

所以,改为:

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

我必须这样做:

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

5
将您的导航抽屉转换为NavigationView,并按照以下步骤操作。
 navigationView.setBackgroundColor(getResources().getColor(R.color.colorPrimaryDark));

你如何将每个菜单项的背景颜色设置为不同的颜色? - justdan0227

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接