我在带有单独菜单键的设备上遇到问题(比如Samsung onces)。 在某些活动中,通过菜单键打开时,“溢出菜单项”的文本颜色为白色。通过三个点打开溢出,文本颜色始终是黑色的 - 就像它应该的那样。
按照屏幕截图显示问题。在左侧,一切都很好,通过三个点打开溢出。在右侧,菜单已通过菜单键打开:
<style name="AppThemeToolbar" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/primary_color</item>
<item name="colorPrimaryDark">@color/primary_color_dark</item>
<item name="colorAccent">@color/accent_color</item>
<item name="android:textColorPrimary">@android:color/white</item>
<item name="android:textColorSecondary">@android:color/white</item>
<item name="windowActionModeOverlay">true</item>
<item name="actionModeBackground">@color/action_mode_color</item>
<item name="actionBarPopupTheme">@style/ThemeOverlay.AppCompat.Light</item>
</style>
注意:我在多个活动中使用完全相同的主题,但在五分之三中一切都很好。 这完全令人难以置信,并没有任何意义。
所以基本上问题是:我如何解决这个问题?为什么某些活动中的textcolor会变黑,而其他活动中的textcolor会变白(而他们都使用相同的主题)?
我尝试过的(在其他类似帖子中找到):
panelBackground
。 This works,遗憾的是,这对我来说不是一个解决方案,因为文本颜色随意切换为黑色和白色 - 因此我无法设置好背景颜色。android:panelTextAppearance
textAppearanceSmallPopupMenu
textAppearanceLargePopupMenu
popupMenuStyle
android:actionMenuTextColor
&amp; actionMenuTextColor
答案 0 :(得分:2)
终于找到了解决方案!
<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>
答案 1 :(得分:0)
<style name="AppThemeLL" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
<item name="android:colorBackground">@color/white</item>
<item name="android:textColorSecondary">@color/white</item>
</style>
这种风格对我有用,对于你将使用这个主题的活动扩展了Activity类。
示例:
public class TestActivity extends Activity
{}
你的清单也是
<activity android:name=".TestActivity"
android:label="Test"
android:theme="@style/AppThemeLL"/>
答案 2 :(得分:0)
我遇到了类似的问题。您可以尝试使用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>