Android BottomNavigationView 色调图标颜色
Android BottomNavigationView tint icon color
我正在使用 BottomNavigationView
并且我设置了这样的颜色:
<android.support.design.widget.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="@dimen/bottom_navigation_height"
app:itemBackground="@color/white"
app:itemIconTint="@color/bottom_bar_item_selector"
app:itemTextColor="@color/bottom_bar_item_selector"
app:menu="@menu/bottom_navigation_main" />
@color/bottom_bar_item_selector:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:color="@color/colorPrimary" />
<item android:color="@color/grey" />
</selector>
问题是,我的 @color/colorPrimary
是 #C4071A
,但最终选择的项目颜色较浅 (#E65A6E
)。区别在屏幕截图上可见 - 图标颜色比文本颜色浅。有没有办法使用完全相同的颜色?
@menu/bottom_navigation_main:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/bottom_bar_item_one"
android:icon="@drawable/ic_1"
android:title="item1"
app:showAsAction="ifRoom"
android:enabled="true" />
<item
android:id="@+id/bottom_bar_item_two"
android:icon="@drawable/ic_2"
android:title="item2"
app:showAsAction="ifRoom"
android:enabled="true" />
<item
android:id="@+id/bottom_bar_item_three"
android:icon="@drawable/ic_3"
android:title="item3"
app:showAsAction="ifRoom"
android:enabled="true" />
<item
android:id="@+id/bottom_bar_item_four"
android:icon="@drawable/ic_4"
android:title="item4"
app:showAsAction="ifRoom"
android:enabled="true" />
<item
android:id="@+id/bottom_bar_item_five"
android:icon="@drawable/ic_5"
android:title="item5"
app:showAsAction="ifRoom"
android:enabled="true" />
</menu>
请注意,我使用的是 Xamarin,但由于我使用的是本机 BottomNavigationView
,所以我预计不会有任何差异。
您的 png 文件似乎有一个 alpha channel/transparency
我检查了你的 checked
和 uncheck
图标状态。
你的灰色图标也有与红色图标相同的问题。如果你用 Adobe Photoshop 等打开这些 png 文件,你可以通过添加纯白色图层来看到该通道在图标下方(如果 alpha 通道处于活动状态)。
我正在使用 BottomNavigationView
并且我设置了这样的颜色:
<android.support.design.widget.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="@dimen/bottom_navigation_height"
app:itemBackground="@color/white"
app:itemIconTint="@color/bottom_bar_item_selector"
app:itemTextColor="@color/bottom_bar_item_selector"
app:menu="@menu/bottom_navigation_main" />
@color/bottom_bar_item_selector:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:color="@color/colorPrimary" />
<item android:color="@color/grey" />
</selector>
问题是,我的 @color/colorPrimary
是 #C4071A
,但最终选择的项目颜色较浅 (#E65A6E
)。区别在屏幕截图上可见 - 图标颜色比文本颜色浅。有没有办法使用完全相同的颜色?
@menu/bottom_navigation_main:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/bottom_bar_item_one"
android:icon="@drawable/ic_1"
android:title="item1"
app:showAsAction="ifRoom"
android:enabled="true" />
<item
android:id="@+id/bottom_bar_item_two"
android:icon="@drawable/ic_2"
android:title="item2"
app:showAsAction="ifRoom"
android:enabled="true" />
<item
android:id="@+id/bottom_bar_item_three"
android:icon="@drawable/ic_3"
android:title="item3"
app:showAsAction="ifRoom"
android:enabled="true" />
<item
android:id="@+id/bottom_bar_item_four"
android:icon="@drawable/ic_4"
android:title="item4"
app:showAsAction="ifRoom"
android:enabled="true" />
<item
android:id="@+id/bottom_bar_item_five"
android:icon="@drawable/ic_5"
android:title="item5"
app:showAsAction="ifRoom"
android:enabled="true" />
</menu>
请注意,我使用的是 Xamarin,但由于我使用的是本机 BottomNavigationView
,所以我预计不会有任何差异。
您的 png 文件似乎有一个 alpha channel/transparency
我检查了你的 checked
和 uncheck
图标状态。
你的灰色图标也有与红色图标相同的问题。如果你用 Adobe Photoshop 等打开这些 png 文件,你可以通过添加纯白色图层来看到该通道在图标下方(如果 alpha 通道处于活动状态)。