如何将Actionbar标题的一部分设置为粗体

时间:2014-07-04 23:10:41

标签: android android-actionbar text-styling

我想有一个像“titlepart1 titleparttwo ”这样的动作栏标题。但正如我通过主题正确理解你可以将整个标题设置为粗体或不粗体但不是部分。有没有解决方法?

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

2 个答案:

答案 0 :(得分:11)

实际上不需要使用主题。

CharSequence个实例可以包含标记信息。您可以手动添加Spans,也可以使用Html类使其更容易。例如:

actionBar.setTitle(Html.fromHtml("titlepart1<b>titleparttwo</b>"));

答案 1 :(得分:2)

什么matiash回答是好的,但它不是本地方法

你应该试试这个,这也会更快

getSupportActionBar().setDisplayShowTitleEnabled(true);
SpannableStringBuilder str = new SpannableStringBuilder("HelloWorld");
str.setSpan(new android.text.style.StyleSpan(android.graphics.Typeface.BOLD), 5, 10,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
getSupportActionBar().setTitle(str);