6

私は2つのことを達成しようとしています

  1. メニュー項目の白いテキスト、タイトルテキストの色は機能します
  2. タイトルとメニュー項目のテキストシャドウ

これはすべてXMLで行われます。

実験後、何が機能しますか?

  1. カスタムアクションバーのレイアウトは、シャドウで問題なく機能します。
  2. すべてのタイルのテキストの色は機能しますが、テキストの影は効果がありません
  3. メニュー項目のテキストの色はどこにも影響しません。メインテーマタグでMenuTextStyleを宣言するサンプルコードでは、テキストサイズを変更できますが、色は変更できません。

    <style name="Theme.SexyApp" parent="Theme.Sherlock.Light">
        <item name="actionBarStyle">@style/Widget.SexyApp.ActionBar</item>
        <item name="android:actionBarStyle">@style/Widget.SexyApp.ActionBar</item>
        <item name="android:actionBarItemBackground">@drawable/list_state</item>
        <item name="actionBarItemBackground">@drawable/list_state</item>
        <item name="android:actionMenuTextAppearance">@style/Theme.SexyApp.ActionBar.MenuTextStyle</item>
        <item name="actionMenuTextAppearance">@style/Theme.SexyApp.ActionBar.MenuTextStyle</item>
    
    
    </style>
    
    <style name="Widget.SexyApp.ActionBar" parent="@style/Widget.Sherlock.Light.ActionBar">
        <item name="android:displayOptions">showHome|useLogo|showTitle</item>
        <item name="android:titleTextStyle">@style/Theme.SexyApp.ActionBar.TextAppearance</item>
        <item name="titleTextStyle">@style/Theme.SexyApp.ActionBar.TextAppearance</item>
    </style>
    
    <style name="Theme.SexyApp.ActionBar.TextAppearance" parent="@style/TextAppearance.Sherlock.Widget.ActionBar.Title">
        <item name="android:textColor">@color/white</item>
        <item name="android:textSize">20dp</item>
        <item name="android:textStyle">bold</item>
        <item name="android:shadowColor">#333333</item>
        <item name="android:shadowRadius">1</item>
        <item name="android:shadowDy">1</item>
    </style>
    
    <style name="Theme.SexyApp.ActionBar.MenuTextStyle" parent="@style/TextAppearance.Sherlock.Widget.ActionBar.Menu">
        <item name="android:textColor">@color/white</item>
        <item name="android:textSize">13dp</item>
        <item name="android:textStyle">bold</item>
        <item name="android:shadowColor">#333333</item>
        <item name="android:shadowRadius">1</item>
        <item name="android:shadowDy">1</item>
    </style>
    
4

2 に答える 2

12

メニュー項目のテキストの色を変更するには、次のコードのように actionMenuTextColor 項目をテーマ スタイルに追加する必要があります。

<style name="ThemeName" parent="@style/Theme.Sherlock.Light">
    <item name="actionMenuTextColor">@color/white</item>
    <item name="android:actionMenuTextColor">@color/white</item>
</style>
于 2012-07-31T16:51:21.610 に答える
2

メニュー項目のテキストの外観 (色、サイズ、スタイル) を更新するには、2 つの異なる場所で変更を加える必要があります。次の答えは sherlock.actionbar に対するものです

1: themes.xml ファイルに次の行を追加します。

<style name="Theme.Mytheme" parent="@style/Theme.Sherlock">
    <item name="android:actionMenuTextAppearance">@style/CustomMenuItem</item>   // define custom style in the style.xml file.
    <item name="actionMenuTextColor">@color/mycolor</item>     
    <item name="android:actionMenuTextColor">@color/mycolor</item>

2: styles.xml で

<style name="CustomMenuItem" parent="@style/TextAppearance.Sherlock.Widget.ActionBar.Menu">
    <item name="android:textStyle">normal</item>
    <item name="android:textSize">15sp</item>
    <item name="android:textAllCaps">false</item>
</style>
于 2014-09-22T07:41:14.847 に答える