Android 带AppCompat的溢出菜单文本颜色(使用硬件菜单键)
我面临着一个问题,那就是带有独立菜单键的设备(比如三星onces)。 在某些活动中,当通过菜单键打开时,溢出菜单项的文本颜色为白色。通过三个点打开溢出,文本颜色始终是黑色的-就像它应该的那样 在屏幕截图之后显示问题。在左侧,一切正常,溢出已通过三个点打开。在右侧,菜单已通过菜单键打开: 我的主题:Android 带AppCompat的溢出菜单文本颜色(使用硬件菜单键),android,android-appcompat,Android,Android Appcompat,我面临着一个问题,那就是带有独立菜单键的设备(比如三星onces)。 在某些活动中,当通过菜单键打开时,溢出菜单项的文本颜色为白色。通过三个点打开溢出,文本颜色始终是黑色的-就像它应该的那样 在屏幕截图之后显示问题。在左侧,一切正常,溢出已通过三个点打开。在右侧,菜单已通过菜单键打开: 我的主题: @颜色/原色 @颜色/原色\u颜色\u深 @颜色/强调色 @android:彩色/白色 @android:彩色/白色 真的 @颜色/动作\u模式\u颜色 @style/ThemeOverlay.A
@颜色/原色
@颜色/原色\u颜色\u深
@颜色/强调色
@android:彩色/白色
@android:彩色/白色
真的
@颜色/动作\u模式\u颜色
@style/ThemeOverlay.AppCompat.Light
注意:我在多个活动中使用了完全相同的主题,尽管五分之三的活动都很好。
这完全令人难以置信,毫无意义
所以基本上问题是:我如何解决这个问题?为什么有些活动中的文本颜色是黑色,而另一些活动中的文本颜色是白色(而它们都使用相同的主题)
我的尝试(在其他类似帖子中发现):
面板背景
,不幸的是,这对我来说不是一个解决方案,因为textcolor可以在黑白之间随意切换,所以我根本无法设置好背景色android:panelTextAppearance
text外观小弹出菜单
textAppearanceLargePopupMenu
popupMenuStyle
&android:actionMenuTextColor
actionMenuTextColor
<activity android:name=".TestActivity"
android:label="Test"
android:theme="@style/AppThemeLL"/>
终于找到了解决方案
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="actionBarPopupTheme">@style/HardwareOptionMenu</item>
</style>
<style name="HardwareOptionMenu" parent="ThemeOverlay.AppCompat.Dark">
<item name="android:textColorSecondary">@color/white</item>
<item name="android:colorBackground">@color/black</item>
</style>
@样式/硬件选项菜单
@颜色/白色
@颜色/黑色
我也面临类似的问题。您可以为AppCompat尝试以下操作:-
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="actionBarPopupTheme">@style/HardwareOptionMenu</item>
</style>
<style name="HardwareOptionMenu" parent="ThemeOverlay.AppCompat.Dark">
<item name="android:textColorSecondary">@color/black</item>
<item name="android:colorBackground">@color/white</item>
</style>
@样式/硬件选项菜单
@颜色/黑色
@颜色/白色
android:textColorSecondary似乎正在将文本更改为白色。@GPack即使我更改了textColorSecondary
文本颜色,但不幸的是,文本颜色仍然是白色。由于所有主题都是浅色的,即黑色文本,问题是:白色文本从何而来?也许您正在为某些活动的menu.xml级别的项目设置样式?@GPack这就是白色的来源。我不知道如何通过menu.xml或java代码设置菜单项的样式,所以可以肯定地说,我没有这样做工具栏xml中没有其他样式或主题引用?
<activity android:name=".TestActivity"
android:label="Test"
android:theme="@style/AppThemeLL"/>
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="actionBarPopupTheme">@style/HardwareOptionMenu</item>
</style>
<style name="HardwareOptionMenu" parent="ThemeOverlay.AppCompat.Dark">
<item name="android:textColorSecondary">@color/white</item>
<item name="android:colorBackground">@color/black</item>
</style>
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="actionBarPopupTheme">@style/HardwareOptionMenu</item>
</style>
<style name="HardwareOptionMenu" parent="ThemeOverlay.AppCompat.Dark">
<item name="android:textColorSecondary">@color/black</item>
<item name="android:colorBackground">@color/white</item>
</style>