2017-01-25 5 views
0

Я просто добавил BottomNavigation в свое приложение для Android, но два из моих четырех значков там не имеют нужного цвета.BottomNavigation Icon Tint

Вот как это выглядит в Android Studio Просмотр:

enter image description here

И вот как это выглядит на устройстве:

enter image description here

Все иконки в моем доступная папка.

Это XML для BottomNavigation:

<android.support.design.widget.BottomNavigationView 
     android:id="@+id/bottom_navigation" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     app:itemBackground="@color/colorPrimary" 
     app:itemIconTint="@color/colorAccent" 
     app:itemTextColor="@color/colorAccent" 
     app:menu="@menu/bottom_navigation_main" /> 

И это XML для элементов:

<item 
     android:id="@+id/action_home" 
     android:enabled="true" 
     android:icon="@drawable/ic_home_white_48dp" 
     android:title="@string/home" 
     app:showAsAction="always" /> 
    <item 
     android:id="@+id/action_requests" 
     android:enabled="true" 
     android:icon="@drawable/ic_collections_white_48dp" 
     android:title="@string/requests" 
     app:showAsAction="always" /> 
    <item 
     android:id="@+id/action_profile" 
     android:enabled="true" 
     android:icon="@drawable/ic_account_circle_white_48dp" 
     android:title="@string/profile" 
     app:showAsAction="always" /> 
    <item 
     android:id="@+id/action_recents" 
     android:enabled="true" 
     android:icon="@drawable/ic_schedule_white_48dp" 
     android:title="@string/recents" 
     app:showAsAction="always" /> 

Надеется, что вы можете мне помочь.

+0

Кажется, в вашем коде нет проблем ... но однажды попробуйте очистить проект или перезапустить Studio. –

+0

Хорошо, после очистки, перестроить и перезапустить Android Studio, теперь все 4 значка отображаются в ярко-белом цвете. Но как только я нажимаю один из них, последний получает этот уродливый серый цвет. После нескольких кликов по элементам второй элемент также возвращается к серому цвету. Может быть, здесь что-то не так в ItemSelectedListener? 'case R.id.action_home: replaceFragmentFrame (homeFragment); item.setChecked (true); break; 'Это делается для каждого элемента, конечно. –

+0

тогда положите ваш код too.maybe кто-то поможет you.who знает вашу problem.i скажет вам, если я знаю. –

ответ

0

При создании селектора всегда сохраняйте состояние по умолчанию в конце, иначе будет использоваться только состояние по умолчанию. Вы должны изменить порядок элементов в вашем селекторе как:

и государства, которые будут использоваться с BottomNavigationBar является state_checked не State_Selected.