在 NavigationView 中禁用图标 colorStateList
Disable icon colorStateList in NavigationView
在我今天的应用程序中,我的图标不仅具有单一颜色,而且在某些情况下有两种颜色,具体取决于我应用程序中的数据状态。这意味着我无法在 NavigationView
.
中使用默认着色行为
看起来像新 NavigationView
,除非我为列表中使用的图标指定 ColorStateList
,否则将为我创建一个默认 ColorStateList
,它使用我的 colorPrimary
等在我的主题中定义。
我没有办法强制 NavigationView 停止为我的图标着色吗?
Is there no way for me to force NavigationView to stop tinting my
icons?
当然有。您可以使用 NavigationView.setItemIconTintList
.
以编程方式执行此操作
您可以在 XML
布局中使用 NavigationView.itemIconTint
属性来实现。
以编程方式
yourNavigationView.setItemIconTintList(null);
来自XML
<android.support.design.widget.NavigationView
...
app:itemIconTint="@android:color/black"
... />
结果
在我今天的应用程序中,我的图标不仅具有单一颜色,而且在某些情况下有两种颜色,具体取决于我应用程序中的数据状态。这意味着我无法在 NavigationView
.
看起来像新 NavigationView
,除非我为列表中使用的图标指定 ColorStateList
,否则将为我创建一个默认 ColorStateList
,它使用我的 colorPrimary
等在我的主题中定义。
我没有办法强制 NavigationView 停止为我的图标着色吗?
Is there no way for me to force NavigationView to stop tinting my icons?
当然有。您可以使用 NavigationView.setItemIconTintList
.
您可以在 XML
布局中使用 NavigationView.itemIconTint
属性来实现。
以编程方式
yourNavigationView.setItemIconTintList(null);
来自XML
<android.support.design.widget.NavigationView
...
app:itemIconTint="@android:color/black"
... />
结果