1

このコードで sherlockActionBar を使用する場合

menu.add(Menu.NONE, R.string.abc, Menu.NONE, R.string.abc)
.setIcon(R.drawable.ic_action_red_plus)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);

大文字の太字で右側にテキストが横に表示されたアイコンが表示されます。Androidアイコンのガイドラインを脇に置いて、そのテキストの色/形状を変更するにはどうすればよいですか? これは私が試したものですが、効果がありません:

<style name="MyTheme" parent="@style/Theme.Sherlock.Light">
    <item name="android:textSize">20dp</item> 
</style>

 <style name="MyTheme.Styled" parent="Theme.Sherlock.Light.DarkActionBar">
    <item name="actionBarStyle">@style/MyTheme.Styled.ActionBar</item>
    <item name="android:actionBarStyle">@style/MyTheme.Styled.ActionBar</item>
</style>

<style name="MyTheme.Styled.ActionBar" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse">
    <item name="background">@drawable/pdf2</item>
    <item name="android:background">@drawable/logo</item>
</style>

タブテキスト(サイトに回答があります)のスタイルを設定する方法を尋ねているのではなく、アクションバーに表示されるアクションであり、ドロップダウンメニューに表示されるアクションではないことに注意してください。

ありがとう

4

1 に答える 1

1

次のように色が変更されます。

<style name="MyTheme" parent="Theme.Sherlock.Light">
    <item name="android:actionMenuTextColor">@color/White</item>
    <item name="actionMenuTextColor">@color/White</item>
</style>

ABS ライブラリの XML レイアウトに基づいて、次を使用できます。

Activity.findViewById(R.id.abs__textButton) 

これにより、カスタムの書体を持つことができる Android ボタンの拡張バージョンが返されます。ネイティブの ActionBar を使用するデバイスでは機能しないと思うので、これはおそらく良い考えではありません。試してみることができます。

R.string.somethingまた、 ID として使用しないでください。XML で id を作成し、それを使用して参照するR.id.somethingか、クラスで int を定義する必要があります。

編集: 私はいくつかのテストを行いActivity.findViewById(menuItemId)ました。ICS デバイスで行うと、ImageButton と Button を持つ ViewGroup が得られます。ID を提供することはできませんが、getChildAt を使用して Button の子を取得し、それに書体を適用することはできます。

于 2012-10-04T16:29:29.693 に答える