Changer la couleur de L'icône de tiroir de Navigation dans le modèle par défaut de studio Android
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é ceci pour les icônes bleu, vert, jaune et pourpre, mais le résultat est la même.

j'ai lu quelque part que la barre d'outils doit utiliser ThemeOverlay.AppCompat.Dark.ActionBar et mon application l'utilise déjà 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" />
au départ, j'ai pensé que cela avait quelque chose à voir avec la fonction cache D'Android Studio, donc j'ai invalidé cache et redémarré Android Studio sans succès.
4 réponses
D'après le commentaire de @MD, tout ce que j'avais à faire était d'ajouter:
app:itemIconTint="@color/my_desired_colour"
NavigationView (il se trouve dans activity_main.xml fichier de mise en page) la teinte par défaut est noire, mais vous pouvez utiliser une teinte de noir encore plus foncée en utilisant #000000
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:itemIconTint="#000000"
app:menu="@menu/activity_main_drawer" />
Créer un nouveau style:
<style name="DrawerIconStyle" parent="Widget.AppCompat.DrawerArrowToggle">
<item name="color">@android:color/red</item>
</style>
<item name="drawerArrowStyle">@style/DrawerIconStyle</item>
basé sur le commentaire de @ojonugwa ochalifu et @MD,
Vous pouvez obtenir en écrivant app:itemIconTint mais si vous écrivez ceci, la couleur de l'icône des tiroirs de navigation sera aussi changée. La solution simple et facile que j'ai trouvé après beaucoup de R&D est que vous avez définir <item name="colorControlNormal">#FFE730</item> dans le thème de AppBarLayout ou si vous utilisez Toolbar sans AppBarLayout, vous pouvez également écrire <item name="colorControlNormal">#FFE730</item> en thème ou popupThemeToolbar dans votre xml.
cela changera aussi la couleur de la flèche arrière de l'activité ainsi.
J'espère que cela vous aidera tous ceux qui sont confrontés à ce genre de problème.
vous devez changer le colorAccent dans le fichier colors à quelle couleur vous voulez:
<color name="colorAccent">whichever color required</color>
Cette solution a fonctionné pour moi