【发布时间】:2016-09-07 06:34:12
【问题描述】:
我正在尝试自定义Toolbar 的弹出菜单。现在我无法设置菜单项的背景颜色。
我的 styles.xml 看起来像这样:
<resources>
<!-- Base application theme. -->
<style name="AppTheme.NoActionBar" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:actionBarStyle">@style/AppTheme.ActionBar</item>
<item name="android:actionMenuTextColor">@color/actionbar_text_color</item>
<item name="android:dropDownListViewStyle">@style/AppTheme.DropDown</item>
<item name="android:itemTextAppearance">@style/menuItemColor</item>
<!-- Support library compatibility -->
<item name="actionBarStyle">@style/AppTheme.ActionBar</item>
<item name="actionMenuTextColor">@color/actionbar_text_color</item>
<item name="dropDownListViewStyle">@style/AppTheme.DropDown</item>
<item name="itemTextAppearance">@style/menuItemColor</item>
</style>
<style name="AppTheme.ActionBar" parent="@style/ThemeOverlay.AppCompat.Dark.ActionBar">\
<item name="titleTextColor">@color/actionbar_text_color</item>
<item name="subtitleTextColor">@color/actionbar_text_color</item>
<item name="android:background">@color/actionbar_background</item>
<!-- Support library compatibility -->
<item name="background">@color/actionbar_background</item>
</style>
<style name="AppTheme.DropDown" parent="@style/Widget.AppCompat.Light.ListView.DropDown">
<item name="android:background">@color/background_color</item>
<!-- Support library compatibility -->
<item name="background">@color/background_color</item>
</style>
<style name="menuItemColor">
<item name="android:textColor">@color/inactive_text_color</item>
</style>
</resources>
我用代码将 ActionBar 添加到活动布局中
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:theme="@style/AppTheme.ActionBar"/>
注意:我使用的是 AppCompat,而不是 Holo 或其他。
【问题讨论】:
-
你的活动主题是什么?
-
我在AndroidManifest应用标签
android:theme="@style/AppTheme.NoActionBar"中设置了主题。我也应该为活动设置主题吗? -
如果将该行更改为
android:theme="@style/Theme.AppCompat.Light.NoActionBar"会发生什么?有什么变化吗? -
@Sufian 操作栏菜单的文本颜色更改为默认白色。其他所有颜色仍然是我的(当然弹出菜单除外)。
-
一张图片如果你需要prntscr.com/cf3x1i颜色是酸性的,用于测试目的。暗框中的颜色不正确。应用主题是我的,不是
Theme.AppCompat.Light.NoActionBar
标签: android menuitem android-appcompat android-toolbar