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 に答える