我在导航抽屉上有这样的菜单项:
...
<item
android:id="@+id/nav_item_language"
android:icon="@drawable/ic_language"
android:title="@string/language" />
<item
android:id="@+id/nav_item_theme"
android:icon="@drawable/ic_theme"
android:title="@string/theme" />
</group>
<group
android:id="@+id/nav_group_intents"
android:checkableBehavior="none">
<item
android:id="@+id/nav_item_share"
android:icon="@drawable/ic_share"
android:title="@string/share" />
<item
android:id="@+id/nav_item_rate_app"
android:icon="@drawable/ic_rate"
android:title="@string/rate_app" />
<item
android:id="@+id/nav_item_contact_us"
android:icon="@drawable/ic_contact_us"
android:title="@string/contact_us" />
</group>
</menu>
我希望文本和图标在深色主题上是最暗的黑色(#000000),在浅色主题上要最亮的白色(#FFFFFF),但现在它们始终是灰色阴影。
我尝试将其作为属性放在菜单项中:
<item
app:iconTint="@android:color/black"
android:id="@+id/nav_item_language"
android:icon="@drawable/ic_language"
android:title="@string/language" />
并在样式上添加以下项目:
<style name="AppThemeLight" parent="Theme.AppCompat.Light.NoActionBar">
...
<item name="android:itemTextAppearance">@android:color/black</item>
<item name="android:actionMenuTextColor">@android:color/black</item>
</style>
对于深色主题,我尝试使用相同的方法,但是尝试使用@android:color/white
,而无论我做什么,我都无法将其从默认的灰色更改。
答案 0 :(得分:2)
在布局xml文件中,您具有NavigationView。要更改图标和文本的颜色,只需添加以下代码,
app:itemIconTint="#00xxxx"
app:itemTextColor="#00xxxx"
答案 1 :(得分:0)
对于菜单文本颜色,在您的主题文件中更改 itemTextAppearance
<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar.Bridge" >
...
<item name="android:itemTextAppearance">@style/menuItemColor</item>
</style>
在您的样式中创建 menuItemColor
样式
<style name="menuItemColor" parent="@android:style/TextAppearance.Widget.IconMenu.Item">
<item name="android:textColor">?android:attr/textColorPrimary</item>
</style>