2

I need to change the default font of my application toolbar, I just switched to material design and it looks pretty new,
Am building an educational app for kids, so I need to change from the professional inbuilt toolbar font.

Peter Ola
  • 132
  • 8
  • 1
    you can add TextView to the toolbar and set the font type to it, the toolbar is just like any Layout it can have childs – Kosh Nov 01 '15 at 07:42

2 Answers2

5

There are couple of options to do that:

Create a custom TypeFace class and use SpannableString to set the ActionBar Title like this.

SpannableString s = new SpannableString("My Title");
    s.setSpan(new TypefaceSpan(this, "MyTypeface.otf"), 0, s.length(),
            Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

    // Update the action bar title with the TypefaceSpan instance
    ActionBar actionBar = getActionBar();
    actionBar.setTitle(s);

See this link to get the solution

or

add a TextView inside the Toolbar and set its attributes

    <android.support.v7.widget.Toolbar
            android:id="@+id/anim_toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_collapseMode="pin"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light">


            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:fontFamily="sans-serif-light"
                android:text="My custom Text"
                android:textColor="#fff"/>

    </android.support.v7.widget.Toolbar>
Community
  • 1
  • 1
Pavitra Kansara
  • 819
  • 8
  • 14
0

Try this:

SpannableString title = new SpannableString(param);
    title.setSpan(new TypefaceSpan(context,"Roboto-Regular.ttf"),0,title.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

//If doing in fragment then 
((AppCompatActivity)getActivity()).getSupportActionBar().setTitle(title)
//otherwise in activity
getSupportActionBar().setTitle(title)

Make sure that you have set Toolbar as action bar, to do that:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

If you haven't set toolbar as action bar then once you prepare Spannable String instead of getSupportActionBar().setTitle(title) use toolbar object to set title

toolbar.setTitle(title)