导航抽屉项目图标未显示原始颜色

我试图在导航抽屉的菜单项旁边显示一个图标,但由于某些原因,图标总是以灰色显示,而不是原来的颜色(棕色)。为了显示图标的原始颜色,是否有任何方法防止这种情况发生

MainActivity.java

公共类MainActivity扩展了AppCompatActivity{
私人抽屉布局mDrawerLayout;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mDrawerLayout=(抽屉布局)findViewById(R.id.抽屉布局);
NavigationView NavigationView=(NavigationView)findViewById(R.id.nav_视图);
if(navigationView!=null){
setupDrawerContent(导航视图);
}
}
私有void setupDrawerContent(导航视图导航视图){
navigationView.setNavigationItemSelectedListener(
新建NavigationView.OnNavigationItemSelectedListener(){
@凌驾
公共布尔值onNavigationItemSelected(MenuItem MenuItem){
mDrawerLayout.closeDrawers();
返回true;
}
});
}
}

drawer\u view.xml

<菜单xmlns:android=”http://schemas.android.com/apk/res/android“>
<项目名称:title=“Section”>
<菜单>
<项目
android:id=“@+id/navigation\u item\u 1”
android:icon=“@drawable/ic_browncircle”
android:title=“子项1”/>
&lt/菜单>
&lt/项目>
&lt/菜单>

我在这里找到了答案:https://stackoverflow.com/a/30632980/875249

为了避免链接,它非常简单:

mNavigationView.setItemIContentList(空);

这将禁用所有基于状态的着色,但您也可以指定自己的列表。这对我很有效

在这里,您可以获得有关创建颜色状态列表的详细信息,但也非常简单:
http://developer.android.com/reference/android/content/res/ColorStateList.html

<选择器xmlns:android=”http://schemas.android.com/apk/res/android“>
<项目android:state_checked=“true”android:color=“@color/primary”/>
<项目android:state_checked=“false”android:color=“@android:color/white”/>
&lt/选择器>

发表评论