2013-09-23 101 views
9

我正在编辑试图让活动标题为粗体的样式xml。如何在动作栏中设置粗体标题?

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

但只有我能设置的是所需的背景颜色。我不是为什么textStyle没有设置为粗体。

任何人都知道如何解决它?

回答

24

可以请你这个尝试:

<?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!它适用于我:) – MarcForn

2

对于使用程序兼容性的,你需要这样的事:

<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

似乎MyTheme.ActionBar中的第一项是不需要的。 – kibitzerCZ

+0

我认为这可能是为了回复@ kbitzerCZ? – Sam

+1

我试图把它留给6.0.1(API 23)和4.0.3(API 15),它的工作原理(希望我不会错过什么)。 – kibitzerCZ

0

如果(Build.VERSION.SDK_INT> = 24){ getSupportActionBar()。setTitle(Html.fromHtml(“”+ title +“”,0));} else {getSupportActionBar()。setTitle(Html.fromHtml(“”+ title +“”)); }

+0

虽然这段代码片段是受欢迎的,并且可能会提供一些帮助,但它会[如果它包含解释](/ meta.stackexchange.com/q/114762)*如何解决该问题将会[大大改善。没有这些,你的答案就没有什么教育价值了 - 记住,你正在为将来的读者回答这个问题,而不仅仅是现在问的人!请编辑您的答案以添加解释,并指出适用的限制和假设。 –

相关问题