Как установить часть заголовка Actionbar жирным шрифтом
Я хотел бы иметь заголовок actionbar как "titlepart1titleparttwo". Но, насколько я понимаю, с помощью темы вы можете либо выделить весь заголовок жирным шрифтом, либо нет, но не частично. Есть ли обходной путь?
<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 ответа
Решение
Нет необходимости использовать темы, на самом деле.
CharSequence
экземпляры могут иметь информацию разметки. Вы можете добавить Spans вручную или использовать Html
класс, чтобы сделать это проще. Например:
actionBar.setTitle(Html.fromHtml("titlepart1<b>titleparttwo</b>"));
На что Матиаш ответил, это хорошо, но это не нативный метод
Вы должны попробовать это, также это будет быстрее
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);