2013-09-23 57 views
9

Tôi đang chỉnh sửa kiểu xml cố gắng để làm cho tiêu đề Hoạt động được in đậm.Làm cách nào để đặt tiêu đề in đậm trong Thanh tác vụ?

<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> 

Nhưng chỉ những gì tôi có thể đặt là màu nền mong muốn. Tôi không lý do tại sao textStyle không được thiết lập để in đậm.

Bất kỳ ai biết cách giải quyết?

Trả lời

24

bạn có thể vui lòng thử với điều này:

<?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! Nó làm việc với tôi :) – MarcForn

2

Đối với những người sử dụng AppCompat, bạn sẽ cần một cái gì đó như thế này:

<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

Dường như mục đầu tiên trong MyTheme.ActionBar là không cần thiết. – kibitzerCZ

+0

Tôi nghĩ rằng nó có thể được cho trở lại compat @ kbitzerCZ? – Sam

+1

Tôi đã cố gắng để nó ra cho cả 6.0.1 (API 23) và 4.0.3 (API 15) và nó hoạt động (hy vọng tôi không thiếu một cái gì đó). – kibitzerCZ

0

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

+0

Trong khi đoạn mã này được chào đón, và có thể cung cấp một số trợ giúp, nó sẽ được [cải thiện rất nhiều nếu nó bao gồm một lời giải thích] (// meta.stackexchange.com/q/114762) của * how * nó giải quyết các câu hỏi. Nếu không có điều đó, câu trả lời của bạn có giá trị giáo dục ít hơn nhiều - hãy nhớ rằng bạn đang trả lời câu hỏi cho độc giả trong tương lai, không chỉ là người hỏi bây giờ! Vui lòng [sửa] câu trả lời của bạn để thêm giải thích và đưa ra chỉ dẫn về những giới hạn và giả định được áp dụng. –