2013-07-04 27 views
14

私のAndroidアプリケーションのactionBarをカスタマイズしたいと思います。
私はアクションバーシャーロックを使用しています。
私の分のターゲットSDKは、ターゲットSDK、14で17
私は、背景色とメインタイトルテキストを変更したテーマを持って
しかし、私は変更することはできません 私のスタイルがここに示されている
字幕テキストの色

Android Actionbarのサブタイトルの色を変更してください

<style name="MyTheme" parent="@android:style/Theme.Holo.Light"> 
    <item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item> 
</style> 

<style name="MyTheme.ActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar"> 
    <item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item> 
    <item name="android:background">#8B0000</item> 
</style> 

<style name="MyTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title"> 
    <item name="android:textColor">#FFFFFF</item> 

</style> 

<style name="MyTheme.ActionBar.Subtitle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Subtitle"> 
    <item name="android:textColor">#FF0000</item> 

</style> 


何が間違っていますか?

答えて

21

ちょうどtitleTextStyle

subtitleTextStyleから
<style name="MyTheme" parent="@android:style/Theme.Holo.Light"> 
    <item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item> 
    </style> 

    <style name="MyTheme.ActionBarStyle"parent="@android:style/Widget.Holo.Light.ActionBar"> 
    <item name="android:subtitleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item> 
    </style> 

    <style name="MyTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title"> 
    <item name="android:textColor">@color/red</item> 
    </style> 
+3

を追加します。字幕スタイルは '@android:style/TextAppearance.Holo.Widget.ActionBar.Subtitle'から継承する必要があります。 – MemoryLeak

0

を変更私はほとんどが、この(私は必要なものへの近い)

@style/Widget.Styled.ActionBar @style/Widget.Styled.ActionBar

<style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.ActionBar.Solid"> 
    <item name="subtitleTextStyle">@style/TextAppearance.Sherlock.Widget.Styled.ActionBar.Subtitle</item> 
    <item name="android:subtitleTextStyle">@style/TextAppearance.Sherlock.Widget.Styled.ActionBar.Subtitle</item> 
    <item name="android:background">#8B0000</item> 
</style> 

<style name="TextAppearance.Sherlock.Widget.Styled.ActionBar.Subtitle" parent="Widget"> 
    <item name="android:textSize">12sp</item> 
</style> 

<style name="OverFlow" parent="Widget.Sherlock.ActionButton.Overflow"> 
    <item name="android:src">@drawable/abs__ic_menu_moreoverflow_holo_light</item> 
</style> 


2

になってしまいました。

<style name="MyTheme" parent="@android:style/Theme.Holo.Light"> 
    <item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item> 
</style> 

<style name="MyTheme.ActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar"> 
    <item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item> 
    <item name="android:subtitleTextStyle">@style/MyTheme.ActionBar.Subtitle</item> 
    <item name="android:background">#8B0000</item> 
</style> 

<style name="MyTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title"> 
    <item name="android:textColor">#FFFFFF</item> 
</style> 

<style name="MyTheme.ActionBar.Subtitle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Subtitle"> 
    <item name="android:textColor">#FF0000</item> 
</style> 
+0

APIレベル13の警告が表示された場合は、親に対して@ Android/style/TextApperanceを使用してください(TitleTextStyleとSubtitleの両方に対して)。 –

3

この一連のスタイルは、背景、タイトル、サブタイトルのテキストを含むアクションバーをフォーマットします。

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <item name="android:actionBarStyle">@style/themeActionBar</item> 
    <item name="android:actionBarTabTextStyle">@style/styleActionBarTabText</item> 
    <item name="android:actionMenuTextColor">@color/actionbar_text</item> 
    <item name="android:actionBarTabStyle">@style/styleActionBarTabs</item> 
    <!-- Support library compatibility --> 
    <item name="actionBarStyle">@style/themeActionBar</item> 
    <item name="actionBarTabTextStyle">@style/styleActionBarTabText</item> 
    <item name="actionMenuTextColor">@color/actionbar_text</item> 
    <item name="actionBarTabStyle">@style/styleActionBarTabs</item> 
</style> 

<!-- ActionBar styles --> 
<style name="themeActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse"> 
    <item name="android:background">@drawable/abactionbargradient</item> 
    <item name="android:titleTextStyle">@style/styleActionBarTitleText</item> 
    <item name="android:subtitleTextStyle">@style/styleActionBarSubTitleText</item> 
    <!-- Support library compatibility --> 
    <item name="background">@drawable/abactionbargradient</item> 
    <item name="titleTextStyle">@style/styleActionBarTitleText</item> 
    <item name="subtitleTextStyle">@style/styleActionBarSubTitleText</item> 
</style> 

<!-- ActionBar title text --> 
<style name="styleActionBarTitleText" 
    parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"> 
    <item name="android:textColor">@color/actionbar_title_text</item> 
    <!-- The textColor property is backward compatible with the Support Library --> 
</style> 

<!-- ActionBar title text --> 
<style name="styleActionBarSubTitleText" 
    parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Subtitle"> 
    <item name="android:textColor">@color/actionbar_sub_title_text</item> 
    <!-- The textColor property is backward compatible with the Support Library --> 
</style> 

<!-- ActionBar tabs text --> 
<style name="styleActionBarTabText" 
    parent="@style/Widget.AppCompat.ActionBar.TabText"> 
    <item name="android:textColor">@color/actionbar_text</item> 
    <item name="android:textSize">10dp</item> 
    <!-- The textColor property is backward compatible with the Support Library --> 
</style> 

<!-- ActionBar tabs styles --> 
<style name="styleActionBarTabs" 
    parent="@style/Widget.AppCompat.ActionBar.TabView"> 
    <!-- tab indicator --> 
    <item name="android:background">@drawable/abactionbartabs</item> 

    <!-- Support library compatibility --> 
    <item name="background">@drawable/abactionbartabs</item> 
</style> 

のこのセット:それはまた、すべての状態(選択、非選択、およびすべての焦点/押された組み合わせ)を含むタブ、だけでなく、タブのテキストのフォントとサイズ(Androidの開発者あたりの命令https://developer.android.com/training/basics/actionbar/styling.html)をフォーマットしますスタイルは、描画可能なグラデーションがいくつかのコヒーレントなカラー値を使用するグラデーションである場合に特に適しています(選択されていない場合はラベンダーが選択され、選択されない場合はパープルからラベンダー、選択されない場合は値が暗く、フォーカスされる場合はより明るい値)。

0

サブタイトルにタイトルスタイルを与えることを、あなたの活動ファイルのコードの下に

actionBar.setSubtitle(Html.fromHtml("<font color='#FFBF00'>Here ActionBar Subtitle</font>"));