Changer la couleur de la Navigation Tiroir Icône dans Android Studio modèle par défaut
La nouvelle Navigation par défaut Tiroir Activité de modèle dans Android Studio
définit ses titres et icônes dans un fichier de menu activity_main_drawer
comme ceci:
<group android:checkableBehavior="single">
<item
android:id="@+id/nav_camara"
android:icon="@drawable/ic_action_emo_cool"
android:title="Import" />
<item
android:id="@+id/nav_gallery"
android:icon="@android:drawable/ic_menu_gallery"
android:title="Gallery" />
<item
android:id="@+id/nav_slideshow"
android:icon="@android:drawable/ic_menu_slideshow"
android:title="Slideshow" />
...
Le premier élément dans mon exemple utilise une icône rouge:
mais quand je lance l'application, la couleur de l'icône reste noir.J'ai testé ce pour le bleu, le vert, le jaune et le violet, mais le résultat est le même.
J'ai lu quelque part que la barre d'outils doit utiliser ThemeOverlay.AppCompat.Dark.ActionBar
et mon application utilise déjà ce dans le styles.xml
fichier:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
J'ai d'abord pensé que cela avait quelque chose à faire avec Android Studio de la fonctionnalité de cache j'ai donc invalidé cache et redémarré Android Studio avec pas de chance.
- essayez de
app:itemIconTint="@android:color/blue"
à votrenavigation View
- http://stackoverflow.com/questions/30967851/change-navigation-view-item-color-dynamicly-android
- Merci @MD. C'était tout ce que je besoin d'ajouter
Vous devez vous connecter pour publier un commentaire.
Basé sur @MD commentaire, tout ce que j'avais à faire était d'ajouter:
à
NavigationView
(il est situé dansactivity_main.xml
fichier de mise en page) La valeur par défaut de teinte est noire, mais vous pouvez utiliser une même teinte plus foncée de noir en utilisant#000000
NavigationView
dans menu dossier puis vient de mettre enapp:itemIconTint="#000000"
Remarque: "#000000" Vous pouvez changer quelle que soit la couleur que vous voulezCréer un nouveau style:
et n votre thème:
Basé sur @ojonugwa ochalifu et @MD commentaire,
Vous pouvez obtenir par écrit
app:itemIconTint
mais si vous écrivez cela, la navigation tiroirs couleur de l'icône sera également changé. Simple et facile solution que j'ai trouvé après beaucoup de R&D, c'est que vous avez défini<item name="colorControlNormal">#FFE730</item>
dans le thème deAppBarLayout
ou si vous utilisezToolbar
seulement sansAppBarLayout
, vous pouvez également écrire<item name="colorControlNormal">#FFE730</item>
dans le thème oupopupTheme
deToolbar
dans votre xml.Cela permettra également de changer la couleur de l'activité de la flèche de retour en tant que bien.
Espère que cela vous aide tous ceux qui sont confrontés à ce type de problème.
Dans mon cas, j'ai eu un style
et ont appliqué le thème de la barre de l'application de mise en page, donc en programmant le chaînage de couleur ne fonctionne pas.
Donc, essayez de supprimer tous les styles que vous avez appliqué, dans le cas où vous n'êtes pas en mesure de modifier la couleur de l'icône et ensuite essayer de le ci-dessus étant donné solutions.
Vous devez modifier le colorAccent dans le fichier de couleurs à laquelle jamais la couleur que vous voulez :
Cette solution a fonctionné pour moi