Нижняя навигация Не показывает оригинальный цвет - PullRequest
0 голосов
/ 29 апреля 2020

Я разработал вид нижней навигации для своего приложения. Идея проста, нижняя панель зеленого цвета будет иметь значки белого цвета. Я написал селектор для этого

<?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>

И он работает, он меняет цвета значка, но не делает его полностью белым, цвет выглядит серым-я sh. Я также попробовал <item android:state_selected="true" android:color="@android:color/white" />, но он также не работает. Я добавил изображения ниже, чтобы вы увидели разницу.

image

Пожалуйста, помогите

Ответы [ 3 ]

0 голосов
/ 29 апреля 2020
<?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" 
0 голосов
/ 29 апреля 2020

Если вы используете BottomNavigationView от com.google. android .material, вы должны указать цвета, особенно для значков и текста, например:

<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"

0 голосов
/ 29 апреля 2020

Вы должны использовать 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>

app: itemIconTint = "@ color / navigate_state"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...