2013-09-23 9 views
9

Edytuję styl xml, próbując pogrubić tytuł działania.Jak ustawić pogrubiony tytuł na pasku akcji?

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

<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> 
    <item name="android:background">#81CFEB</item> 
    <item name="android:textStyle">bold</item> 
</style> 

Ale tylko to, co mogę ustawić, to pożądany kolor tła. Nie dlaczego to nie jest ustawione pogrubienie textStyle.

Ktoś wie, jak go rozwiązać?

Odpowiedz

24

można spróbuj z tym:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="MyTheme" parent="@android:style/Theme.Holo.Light"> 
    <item name="android:actionBarStyle">@style/MyTheme.MyActionBar</item> 
    </style> 

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

    <style name="MyTheme.MyActionBar.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title"> 
    <item name="android:background">#81CFEB</item> 
    <item name="android:textStyle">bold</item> 
    </style> 
</resources> 
+1

Tahnks! To mi działa :) – MarcForn

2

Dla osób korzystających AppCompat, trzeba coś takiego:

<style name="MyTheme" parent="Theme.AppCompat"> 
    <item name="android:actionBarStyle">@style/MyTheme.ActionBar</item> 
    <item name="actionBarStyle">@style/MyTheme.ActionBar</item> 
</style> 

<style name="MyTheme.ActionBar" parent="Widget.AppCompat.ActionBar.Solid"> 
    <item name="titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item> 
</style> 

<style name="MyTheme.ActionBar.TitleTextStyle" parent="TextAppearance.AppCompat"> 
    <item name="android:background">#81CFEB</item> 
    <item name="android:textStyle">bold</item> 
</style> 
+1

Wydaje się, że pierwszy element w MyTheme.ActionBar nie jest potrzebny. – kibitzerCZ

+0

Myślę, że może to być na plecach compat @kbitzerCZ? – Sam

+1

Próbowałem go pominąć dla wersji 6.0.1 (API 23) i 4.0.3 (API 15) i działa (mam nadzieję, że czegoś nie brakuje). – kibitzerCZ

0

if (Build.VERSION.SDK_INT> = 24) { . getSupportActionBar() setTitle (Html.fromHtml (""+ tytułowy +"", 0)). } else {getSupportActionBar() setTitle (Html.fromHtml (""+ tytułowy +"")); }

+0

Chociaż ten fragment kodu jest mile widziany i może zapewnić pomoc, byłoby [znacznie ulepszone, gdyby zawierał wyjaśnienie] (// meta.stackexchange.com/q/114762) * jak * adresuje to pytanie. Bez tego Twoja odpowiedź ma znacznie mniejszą wartość edukacyjną - pamiętaj, że odpowiadasz na pytanie dla czytelników w przyszłości, a nie tylko pytasz teraz! Proszę [edytuj] swoją odpowiedź, aby dodać wyjaśnienie i podać, jakie ograniczenia i założenia mają zastosowanie. –