Couleur d'arrière-plan de changement dans BottomNavigationView

J'ai mis en œuvre BottomNavigationView qui est disponible à partir de la nouvelle bibliothèque de prise en charge 25.0.0. Voici mon code pour que

<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="@drawable/text"
    app:itemTextColor="@drawable/text"
    app:menu="@menu/bottom_navigation_main" />

Et text.xml drawable

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@android:color/white" android:state_enabled="true" />
    <item android:color="@color/colorPrimaryDark" android:state_enabled="false" />
</selector>

Avec ce code, je suis en mesure de changer la couleur du texte lorsque l'élément de menu est cliqué, mais quand j'applique la même chose pour app:itemBackground il montre l'erreur <item> tag requires a 'drawable' attribute or child tag defining a drawable.

C'est ce que j'ai essayé pour app:itemBackground

app:itemBackground="@drawable/text"

Donc ma question est comment puis-je changer la couleur d'arrière-plan de l'élément de menu sélectionné?

  • Créer un drawable fichier et mettre à app:itemBackground. Selon BottomNavvigationView Doc Vous pouvez définir uniquement des ressources de l'arrière-plan .
  • essayez d'ajouter android:drawable="@drawable/item_background_selected" à l'intérieur de votre article
  • oui c'est ce que j'ai fait, j'ai essayé app:itemBackground="@color/colorPrimary" qui est dessiné fichier seulement
  • Si c'est drawable alors vous devez écrire app:itemBackground="@drawable/colorPrimary".
  • je l'ai aussi mentionné dans ma question, s'il vous plaît vérifier but when i apply same thing to app:itemBackground it is showing error
  • qui montre aussi la même erreur
  • <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/item_background_selected" <item android:color="@android:color/white" android:state_enabled="true" /> <item android:color="@color/colorPrimaryDark" /> </selector> quand vous le mettez dans votre texte xml toujours vous le procurer ?
  • oui même erreur
  • c'est fait, on ne peut pas utiliser android:de la couleur pour itemBackground, nous devons utiliser android:drawable dans les '<item>', votre réponse a été partiellement correcte. Mais nous ne pouvons pas ne pas inclure <item> avec android:color aussi, qui a généré l'erreur.
  • Rupareliya cool, j'étais avec mon mobile malades par ailleurs donner un meilleur coup 😛 :))
  • Vérifiez ce manuel fr.proft.moi/2017/01/30/...