android - 如何更改导航图标颜色

标签 android android-toolbar android-appcompat android-styles android-navigationview

我的应用程序中有一个 navigationView,在应用程序样式中添加两行之后:

<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>

导航图标颜色变为黑色,针对这个问题,我在样式中添加了这一行:

<item name="android:textColorSecondary">@android:color/white</item>

现在导航图标又变白了,但现在我有一个新问题。使用上面的代码,导航项的标题也改变了颜色。

我没有找到解决这个干扰的方法

风格:

<!-- 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>

    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="android:textColorSecondary">@android:color/white</item>

</style>

导航菜单:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:showIn="navigation_view">

    <group
        android:id="@+id/testGRP"
        android:checkableBehavior="single"
        >
    <item android:title="جلسه : انتخاب نشده"
        android:id="@+id/menuItem_StudentList11"
        android:icon="@drawable/ic_arrow_drop_up"
        />

    <item android:title="مرتب سازی"
        android:id="@+id/menuItem_StudentList_Quize1"
        android:icon="@drawable/all_exam_icon"
        />

        <item android:title="@string/Navigation_StudentList3"
            android:id="@+id/menuItem_StudentList_Quize"
            android:icon="@drawable/all_exam_icon"
            />

    </group>


    <item android:title="رویدادها:"> //this line is title

    <menu>

    <item android:title="@string/Navigation_StudentList4"
        android:id="@+id/menuItem_StudentList_MidTerm"
        android:icon="@drawable/all_exam_icon"
        />

    <item android:title="@string/Navigation_StudentList5"
        android:id="@+id/menuItem_StudentList_EndTerm"
        android:icon="@drawable/all_exam_icon"
        />

    <item android:title="امتحان عملی"
        android:id="@+id/menuItem_StudentList_Practical"
        android:icon="@drawable/all_exam_icon"
        />


    <item android:title="@string/Navigation_StudentList6"
        android:id="@+id/menuItem_StudentList_Project"
        android:icon="@drawable/all_projcet_icon"
        />


    <item android:title="@string/Navigation_StudentList2"
        android:id="@+id/menuItem_StudentList_Conference"
        android:icon="@drawable/all_conference_icon"
        />
    </menu>
        </item>


    <item android:title="@string/Navigation_StudentList1"
        android:id="@+id/menuItem_StudentList1"
        android:icon="@drawable/all_notifiicon_icon"
        />

    <item android:title="@string/Navigation_StudentList7"
        android:id="@+id/menuItem_StudentList7"
        android:icon="@drawable/main_newclass_icon"
        />
</menu>

enter image description here

enter image description here

最佳答案

使用工具栏,要更改导航图标的颜色,您可以使用:

MaterialToolbar或者(androidx 和 Material 主题):

<com.google.android.material.appbar.MaterialToolbar
    android:theme="@style/MyThemeOverlay_Toolbar"
    ...>

  <style name="MyThemeOverlay_Toolbar" parent="ThemeOverlay.MaterialComponents.Toolbar.Primary">
    <!-- color used by navigation icon and overflow icon -->
    <item name="colorOnPrimary">@color/secondaryColor</item>
  </style>

有了支持库:

<android.support.v7.widget.Toolbar
  app:theme="@style/ThemeToolbar" />


<style name="ThemeToolbar" parent="Theme.AppCompat.Light">
   <!-- navigation icon color -->
   <item name="colorControlNormal">@color/my_color</item>
</style>

关于android - 如何更改导航图标颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58074174/

相关文章:

android - 工具栏仅在平板电脑尺寸上具有左右填充

android - 如何在android C++文件中打印日志?

java - Android AdView NoClassDefFoundError

android - Urban Airship - 覆盖 OpenExternalUrlAction Action 的行为

android - 在工具栏的子元素顶部添加后退按钮

android - 工具栏标题在 fragment 中显示为空

android - 在同一个 Android 应用程序中使用 ActionBarActivity 和谷歌地图

android - 如何将 NavigationView 与标准 Android 主题一起使用?

android - Xamarin带有AppCompat主题的Android启动表单注释

android - 为复选框设置禁用背景图像