在我今天的应用程序中,我的图标不仅有一种颜色,而且在某些情况下有两种颜色,具体取决于我的应用程序中的数据状态.这意味着我无法使用默认的着色行为NavigationView
.
它看起来像新的NavigationView
,除非我ColorStateList
为列表中使用的我的图标指定了一个默认值ColorStateList
,我将使用colorPrimary
我的主题中定义的我的等号.
我没办法强迫NavigationView停止着色我的图标吗?
android material-design android-design-library android-navigationview
如何让导航图标显示真实颜色?
我设计了自己的自定义图标,但它们在我的导航抽屉中显示为灰色。
我目前整个应用程序使用的主题是:Light.DarkActionBar
这是抽屉菜单:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:title=""
android:id="@+id/nav_item_inbox"
/>
<item android:title="Home"
android:id="@+id/nav_item_home"
android:icon="@drawable/home"
/>
<item android:title="News">
<menu>
<item android:title="Events News"
android:id="@+id/nav_item_events"
android:icon="@drawable/ic_action_search"
/>
<item android:title="International News"
android:id="@+id/nav_item_international"
android:icon="@drawable/nav_icong"/>
<item
android:title="Climatic News"
android:id="@+id/nav_item_weathernews"
android:icon="@drawable/spam"/>
</menu>
</item>
<item android:title="Climate">
<menu>
<item
android:title="Weather Widget"
android:id="@+id/wewidget"
android:icon="@drawable/bin"/>
</menu>
</item>
<group android:id="@+id/About">
<item android:title="About"
android:id="@+id/abt"
android:icon="@drawable/settings"/>
<item android:title="FeedBack"
android:icon="@drawable/help"/>
<item android:title="Help"
android:icon="@drawable/help"/>
</group>
</menu>
Run Code Online (Sandbox Code Playgroud)
这是 Activity_main 布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:orientation="vertical">
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:fitsSystemWindows="true" …
Run Code Online (Sandbox Code Playgroud)