Je vais ajouter une BottomNavigationView
de un projet, et je voudrais avoir un texte différent (et icône de la teinte) couleur de l'onglet sélectionné (en vue de parvenir à un vieillissement de non-onglets sélectionnés effet). À l'aide d'une couleur différente avec android:state_selected="true"
dans un sélecteur de couleur de fichier de ressource ne semble pas fonctionner. J'ai aussi essayé d'avoir d'autres entrées d'option avec android:state_focused="true"
ou android:state_enabled="true"
, aucun effet malheureusement. Aussi essayé le réglage de l' state_selected
attribut à false (explicitement) pour la valeur par défaut (non sélectionné) couleur, avec pas de chance.
Voici comment j'ai ajouter la vue à ma disposition:
<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/silver"
app:itemIconTint="@color/bnv_tab_item_foreground"
app:itemTextColor="@color/bnv_tab_item_foreground"
app:menu="@menu/bottom_nav_bar_menu" />
Voici mon sélecteur de couleur (bnv_tab_item_foreground.xml
):
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@android:color/darker_gray" />
<item android:state_selected="true" android:color="@android:color/holo_blue_dark" />
</selector>
Et mon menu de ressources (bottom_nav_bar_menu.xml
):
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_home"
android:icon="@drawable/ic_local_taxi_black_24dp"
android:title="@string/home" />
<item
android:id="@+id/action_rides"
android:icon="@drawable/ic_local_airport_black_24dp"
android:title="@string/rides"/>
<item
android:id="@+id/action_cafes"
android:icon="@drawable/ic_local_cafe_black_24dp"
android:title="@string/cafes"/>
<item
android:id="@+id/action_hotels"
android:icon="@drawable/ic_local_hotel_black_24dp"
android:title="@string/hotels"/>
</menu>
Je vous serais reconnaissant de toute aide.