2013-04-24 40 views
4

是否有可能改變ActionBar的標題和副標題的大小/顏色?可以更改ActionBar的文本大小/顏色嗎?

我使用ActionBarSherlock在較低和較高版本之間進行橋接。 ActionBarSherlock提供了在SherlockActionBarCompat中自定義文本樣式的方法,但似乎沒有辦法在SherlockActionBarNative中創建它。

編輯: 由Jake添加和刪除作者

編輯: 關閉的解決方案:

<style name="resizeableTitleStyle" parent="TextAppearance.Sherlock.Widget.ActionBar.Title.Inverse"> 
    <item name="android:textSize">@dimen/action_bar_title_text_size</item> 
</style> 

<style name="Theme.ResizeableActionBar" parent="Theme.Sherlock.Light.DarkActionBar"> 
    <item name="actionBarStyle">@style/resizeableActionBarStyle</item> 
    <item name="android:actionBarStyle">@style/resizeableActionBarStyle</item> 
    <item name="actionBarSize">60dp</item> 
    <item name="android:actionBarSize">60dp</item> 
</style> 

<style name="resizeableActionBarStyle" parent="@style/Widget.Sherlock.Light.ActionBar.Solid.Inverse"> 
    <item name="titleTextStyle">@style/resizeableTitleStyle</item> 
    <item name="android:titleTextStyle">@style/resizeableTitleStyle</item> 
</style> 

感謝傑克,ABS的作者的幫助。

現在幾乎已經完成了,除了actionBarSize只能從幾個試驗中估計爲近似絕對尺寸(對於我的應用程序爲60dp) wrap_content會導致API2.2展開整個屏幕,並在解析xml時引發API4.2.2異常。

加成
時actionBarSize設置爲0dp,輸出爲(http://i.stack.imgur.com/xX4E1.png,低信譽在這裏直接張貼圖片):API2.2在左側,操作欄佔據整個屏幕沒有內容,API4 .2.2在正確的情況下,內容確實沒有行動條。

當設置爲WRAP_CONTENT,相同的輸出API2.2和異常拋出:java.lang.UnsupportedOperationException:由造成無法轉換爲維度:類型= 0x10的

+0

的'titleTextStyle'屬性在你'actionBarStyle'引用一個風格去。 – 2013-04-25 06:27:47

回答

9

是有可能。您可以通過這種方式做到這一點通過樣式:

<style name="MyTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.Medium"> 
     <item name="android:textColor">@color/green_text_color</item> 
     <item name="android:textStyle">bold</item> 
     <item name="android:textSize">@dimen/actionbar_textsize</item> 
</style> 

,並使用它:

<item name="titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item> 
<item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item> 
+0

我在另一篇文章中回覆,因爲它超出了評論的人物限制。請幫忙 – user1105115 2013-04-25 04:31:29

+0

@Blackbelt:你好,你能解釋爲什麼我們需要「titleTextStyle」和「android:titleTextStyle」嗎?謝謝。 – namanhams 2015-11-20 11:51:49

+1

答案很古老。不過,沒有android的是/ actionbarsherlock/actionbarcompat。與android之一是爲本機actionbar @namanhams – Blackbelt 2015-11-20 11:58:30