[英]Can't change navigation drawer icon color in android
好的,我知道這是一個微不足道的問題,但由於某種原因它對我不起作用。 我做了很多其他答案中建議的事情,但都是徒勞的。 我的 drawable 文件夾有白色圖標。 我什至試圖從styles.xml 更改它,但這也不起作用。 我正在我的 Lollipop 設備上測試它。 任何幫助將不勝感激。 提前致謝。
這是我的清單文件的一部分。
<application
android:allowBackup="true"
android:icon="@drawable/ic_drawer"
android:label="@string/app_name" >
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"
tools:replace="android:value" />
<activity
android:name=".Activity_Splash"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".Activity_test"
android:launchMode="singleInstance"
android:theme="@style/AppTheme.Base"
android:windowSoftInputMode="stateHidden" />
最后這是我的 style.xml。 v-21 類似。
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowContentTransitions">true</item>
<item name="android:windowAllowEnterTransitionOverlap">true</item>
<item name="android:windowAllowReturnTransitionOverlap">true</item>
<item name="android:actionMenuTextColor">#fff</item>
<item name="colorPrimary">@color/ColorPrimary</item>
<item name="colorPrimaryDark">@color/ColorPrimaryDark</item>
<item name="drawerArrowStyle">@style/MyDrawerArrowToggle</item>
<item name="windowActionBar">false</item>
<item name="colorAccent">#fff</item>
<item name="android:windowSharedElementEnterTransition">@android:transition/move</item>
<item name="android:windowSharedElementExitTransition">@android:transition/move</item>
</style>
您應該使用ThemeOverlay.AppCompat.Dark.ActionBar
作為您的工具欄樣式。 它將colorControlNormal
設置為android:textColorPrimary
,對於深色主題,它是白色的。 它不會改變主要風格的其他屬性。
<android.support.v7.widget.Toolbar xmlns:app="http://schemas.android.com/apk/res-auto" >
...
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
</android.support.v7.widget.Toolbar>
同時從您的主要樣式中刪除drawerArrowStyle
,它不是必需的。
如果您使用設計支持庫,您可以使用app:itemIconTint
屬性修改圖標顏色:
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="left"
android:fitsSystemWindows="true"
android:theme="@style/AppTheme"
app:headerLayout="@layout/nav_header_main"
app:itemIconTint="#f00"
app:itemTextColor="#0f0"
app:menu="@menu/nav_drawer" />
作為獎勵,上面還展示了如何使用app:itemTextColor
更改文本的顏色。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.