Chr*_*ner 21 android android-menu actionbarsherlock android-actionbar
我一直在开发的应用程序使用ActionBarSherlock,主题继承自Theme.Sherlock.Light.DarkActionBar.该设计要求溢出菜单弹出窗口具有深色背景和白色文本.这适用于没有物理菜单按钮的设备,文本显示为预期的白色.但是,如果设备具有物理菜单按钮,则显示的菜单中显示的文本仍为黑色.
我的主题包含
<item name="android:panelBackground">@drawable/menu_hardkey_panel</item>
Run Code Online (Sandbox Code Playgroud)
...其中@ drawable/menu_hardkey_panel是深色9patch.
菜单弹出窗口的结果是...... 
我无法确定为什么会发生这种情况,或者如何手动更改文本的颜色.在我的主题中,我尝试了以下所有内容......
<item name="android:actionMenuTextColor">@android:color/white</item>
<item name="android:textAppearanceLargePopupMenu">@style/MyMenuTextAppearance.Large</item>
<item name="android:textAppearanceSmallPopupMenu">@style/MyMenuTextAppearance.Small</item>
Run Code Online (Sandbox Code Playgroud)
我甚至试过了
<item name="android:actionBarWidgetTheme">@style/Theme.MyApp.Dark</item>
Run Code Online (Sandbox Code Playgroud)
...... Theme.MyApp.Dark在哪里......
<style name="Theme.MyApp.Dark" parent="@style/Theme.Sherlock">
<item name="android:dropDownListViewStyle">@style/DropDownListView</item>
<item name="dropDownListViewStyle">@style/DropDownListView</item>
</style>
Run Code Online (Sandbox Code Playgroud)
没有人允许我将文本更改为白色.如果我让我的基本主题继承自Theme.Sherlock,问题就解决了,文本是白色的,但不幸的是,这不是一个选项.
对此并不完全确定,但我相信弹出菜单使用与溢出菜单相同的样式。在这种情况下,你只需做这样的事情。
<item name="android:itemTextAppearance">@style/your_new_text_appearance</item>
<style name="your_new_text_appearance">
<item name="android:textColor">@android:color/white</item>
</style>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5546 次 |
| 最近记录: |