【发布时间】:2014-12-17 17:32:01
【问题描述】:
上下文
使用 AppCompat v7 21.0.0 / 21.0.2 / 21.0.3
问题
ToolBar的popupTheme没有应用到ShareAction
工具栏上的样式:
<style name="MyActionBarStyle" parent="Widget.AppCompat.Toolbar">
<item name="android:background">@color/green</item>
<item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item>
<item name="theme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item>
</style>
溢出菜单项正在正确使用popupTheme
另一方面,ShareAction 不接收 popupTheme。经过一些测试后,我注意到它收到了工具栏的 app:theme,因此是黑暗的。
<item name="android:colorBackground">@color/white</item>
为了在 ShareAction 上获得黑色文本,我尝试设置许多属性并通过设置“android:textColorPrimary”(在 ToolBar 主题上)我得到了我想要的但我在 ToolBar 上的图标也采用了这种颜色,即奇怪……
菜单xml如下:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:cycle="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/ic_share"
android:icon="@drawable/abc_ic_menu_share_holo_dark"
android:title="@string/media_share"
cycle:showAsAction="ifRoom"
cycle:actionProviderClass="android.support.v7.widget.ShareActionProvider" />
<item
android:icon="@drawable/abc_ic_menu_share_holo_dark"
android:showAsAction="ifRoom"
android:title="br">
<menu>
<item
android:id="@+id/menuSortNewest"
android:title="Sort by newest" />
<item
android:id="@+id/menuSortRating"
android:title="Sort by rating" />
</menu>
</item>
</menu>
我希望 ShareAction 和溢出都有 popupTheme 但事实并非如此
解决方法
我会在找到解决方法后编辑这篇文章
参考:https://code.google.com/p/android/issues/detail?id=87285&thanks=87285&ts=1419254842
【问题讨论】:
标签: android styles themes android-appcompat android-toolbar