0

我为我的应用程序设计了一个底部导航视图。这个想法很简单,绿色底栏将有白色图标。我为此写了一个选择器

<?xml version="1.0" encoding="utf-8"?>
  <selector xmlns:android="http://schemas.android.com/apk/res/android">

     <item android:state_checked="false" android:color="@android:color/white" />
     <item android:color="@android:color/holo_blue_dark"  />
  </selector>

它有效,它改变了图标的颜色,但它并没有使它完全变白,颜色看起来是灰色的。我也尝试过,<item android:state_selected="true" android:color="@android:color/white" />但它也不起作用。我已经添加了下面的图片,让你看看有什么不同。

图片

请帮忙

4

5 回答 5

1

如果您希望您的图标具有相同的默认颜色,请在您的活动中使用它。

bottomNavigation.setItemIconTintList(null);
于 2020-07-22T11:50:03.463 回答
0

如果您使用来自 com.google.android.material 的 BottomNavigationView,您应该为图标和文本指定颜色,例如:

<com.google.android.material.bottomnavigation.BottomNavigationView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/background"
        app:itemIconTint="@color/bottom_bar_icon_tint"
        app:itemTextColor="@color/bottom_bar_icon_tint"
        app:menu="@menu/navigation_menu" />

和bottom_bar_icon_tint.xml:

<?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/white" />
    <item android:color="@color/cool_grey"  />
</selector>

还要注意:android:state_checked="true"

于 2020-04-29T13:18:16.057 回答
0

你应该使用 state_selected

<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:state_selected="true"
      android:color="@color/color1" />
   <item android:color="@color/color2" />
</selector>

应用程序:itemIconTint="@color/navigate_state"

于 2020-04-29T13:04:29.710 回答
0
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:color="@android:color/holo_blue_dark" />
    <item android:color="@android:color/darker_gray"  />
</selector>

和一种

add it on android.support.design.widget.BottomNavigationView app:itemIconTint="@drawable/nav_item_color_state" app:itemTextColor="@drawable/nav_item_color_state" 
于 2020-04-29T13:13:19.983 回答
0

您的 xml 文件似乎具有 alpha 通道/透明度

您需要将“android:alpha”参数更改为“1.0”或在 icon.xml 中将其删除

<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="@color/white"
android:alpha="0.8">

<path
  android:fillColor="@color/white"
  android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8zM6.5,17.5l7.51,-3.49L17.5,6.5 9.99,9.99 6.5,17.5zM12,10.9c0.61,0 1.1,0.49 1.1,1.1s-0.49,1.1 -1.1,1.1 -1.1,-0.49 -1.1,-1.1 0.49,-1.1 1.1,-1.1z"/>
于 2021-01-07T10:03:28.590 回答