0

是否有一种与 Android ShareActionProvider 一起使用的样式,它允许文本为白色而不是黑色。我努力了:

<item name="android:textColor">@android:color/white</item>
<item name="android:itemTextAppearance">@style/menu_color</item>
<item name="android:textAppearanceListItem">@style/menu_color</item>
<item name="android:textAppearanceListItemSmall">@style/menu_color</item>
<item name="android:textAppearanceLarge">@style/menu_color</item>`
<item name="android:textAppearanceLargePopupMenu">@style/MyShareActionProviderStyle</item>`
<item name="android:textAppearanceSmallPopupMenu">@style/MyShareActionProviderStyle</item>`
<item name="android:actionMenuTextAppearance">@style/share_item_color</item>

我已经在许多不同的配置中尝试了所有这些属性,但似乎找不到正确的属性来更改以使文本成为正确的颜色。

我正在使用 Holo 主题库,但没有使用 AppCompat 或 ActionBarSherlock。提前感谢您的帮助。

4

2 回答 2

0

这是我最终做的事情:

首先,我创建了一个子类,ShareActionProvider并在该片段的菜单 xml 文件中将其设置为android:actionProviderClass

然后在onCreateActionView那个ShareActionProvider子类中我这样做了:

View v = super.onCreateActionView();
for(int i=0; i<((ViewGroup)v).getChildCount(); ++i) {
    View nextChild = ((ViewGroup)v).getChildAt(i);
    TextView title = (TextView)nextChild.findViewById(android.R.id.title);
    if(title != null){
        title.setTextColor(Color.WHITE);
    }
}
return v;

这让我得到了我需要的白色菜单文本。希望这对将来的某人有所帮助。

于 2015-04-29T21:40:17.910 回答
0

如果您使用工具栏,则不需要扩展 ShareActionProvider。只有你需要在 toolabr 中应用主题app:theme="@style/toolbarTheme"

这是主题代码

<style name="toolbarTheme" parent="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
        <item name="android:textColor">@android:color/white</item>
        <item name="android:textColorPrimary">@android:color/white</item>
</style>
于 2015-04-30T04:40:06.933 回答