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