android - 在 Android Studio 默认模板中更改抽屉导航图标的颜色

标签 android navigation-drawer

Android Studio 中新的默认抽屉导航 Activity 模板

enter image description here

在菜单文件 activity_main_drawer 中定义其标题和图标,如下所示:

<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" />
        ...

我的示例中的第一项使用红色图标:

enter image description here

但是当我运行应用程序时,图标的颜色仍然是黑色。我已经测试了蓝色、绿色、黄色和紫色图标,但结果是一样的。

enter image description here

我在某处读到工具栏应该使用 ThemeOverlay.AppCompat.Dark.ActionBar 并且我的应用程序已经在 styles.xml 文件中使用了它:

<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" />

最初我认为这与 Android Studio 的缓存功能有关,因此我使缓存无效并重新启动了 Android Studio,但没有成功。

最佳答案

根据@MD 的评论,我需要做的就是添加:

app:itemIconTint="@color/my_desired_colour"

NavigationView(它位于 activity_main.xml 布局文件中)默认色调为黑色,但您可以使用 使用更深的黑色阴影#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" />

关于android - 在 Android Studio 默认模板中更改抽屉导航图标的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33407448/

相关文章:

android - opendrawer() 在 drawerlayout 中抛出空指针错误

android - 抽屉导航多个容器和最佳实践

java - NavigationComponents - 抽屉导航无法导航

android - fragment 中的 onCreateOptionsMenu() 不替换 ActionBar 菜单

android - 更新 Android 中其他 View 下方的 View 位置

android - 如何获取我用 Intent 选择的目录的路径并将其用作文件路径?

android - 为什么 Android 上的 WiFi 扫描在不同的手机上需要不同的时间

android - 如何在 Cordova 中设置 android.enableAapt2=false?

java - 我怎样才能轻松地将 HTTPS(自签名证书)与 JSoup 一起使用?

android - 抽屉导航 : add headers in listview