我想在Java中设置导航抽屉的背景颜色,但是似乎setBackgroundColor
和所有类似的方法都没有效果。只有XML行android:background="@color/mycolor"
起作用。如果删除XML行并尝试其中一种方法,则抽屉只会保持透明。
有什么想法吗?
我想在Java中设置导航抽屉的背景颜色,但是似乎setBackgroundColor
和所有类似的方法都没有效果。只有XML行android:background="@color/mycolor"
起作用。如果删除XML行并尝试其中一种方法,则抽屉只会保持透明。
有什么想法吗?
在你的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"/>
我刚刚解决了自己的问题。
我完全忘记了我想要设置背景的不是DrawerLayout
,而是里面的ListView
。
我承认没有在我的帖子中添加代码会让你们有些困难 -.-'
所以,改为:
private DrawerLayout mDrawerLayout;
(...)
mDrawerLayout.setBackgroundResource(int);
我必须这样做:
private ListView mDrawerList;
(...)
mDrawerList.setBackgroundResource(int);
navigationView.setBackgroundColor(getResources().getColor(R.color.colorPrimaryDark));