2

我想要一个动作栏标题,如“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>
4

2 回答 2

11

实际上,不需要使用主题。

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

actionBar.setTitle(Html.fromHtml("titlepart1<b>titleparttwo</b>"));
于 2014-07-04T23:17:07.587 回答
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);
于 2017-06-22T06:12:40.687 回答