SnafuBernd
SnafuBernd

Reputation: 271

How to set part of Actionbar title bold

i would like to have an actionbar title like "titlepart1titleparttwo". But as I understand it correctly through a theme you can either set the whole title on bold or not but not partly. Is there any workaround?

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

Upvotes: 4

Views: 2528

Answers (2)

Vishal Singh
Vishal Singh

Reputation: 1511

What matiash answered is good but it is not the native method

You should try this, also this will be faster

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

Upvotes: 4

matiash
matiash

Reputation: 55370

No need to use themes, actually.

CharSequence instances can have markup information. You can add Spans manually, or you can use the Html class to make it easier. For example:

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

Upvotes: 11

Related Questions