How to change the toolbar text size?
I want to change the size of text in Toolbar
. Because in my application, Toolbar
text has different sizes both for landscape and portrait mode.
Is it possible to change the text size of text in Toolbar
?
Solution 1:
Use app:titleTextAppearance
:
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:id="@+id/toolbar"
app:titleTextAppearance="@style/Toolbar.TitleText" />
and override the default title size in a custom style:
<style name="Toolbar.TitleText" parent="TextAppearance.Widget.AppCompat.Toolbar.Title">
<item name="android:textSize">18sp</item>
</style>
Result:
Solution 2:
for example this your toolbar
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:gravity="center"
android:minHeight="?attr/actionBarSize"
app:theme="@style/ThemeOverlay.AppCompat.ActionBar" />
you can simple add this view this
app:titleTextAppearance="@style/yourstyle"
style.xml
<style name="yourstyle" parent="@style/Base.TextAppearance.AppCompat.Title">
<item name="android:textSize">20sp</item>
</style>
like that...
Solution 3:
You can add a TextView
to your toolbar and customize as you want:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent">
<TextView
android:id="@+id/toolbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name"
android:textSize="25sp"/>
</android.support.v7.widget.Toolbar>
Solution 4:
[Optional steps 1 & 2)
- Place your font file in "Project/app/src/main/assets/fonts/" folder.
Then create a Typeface object from the font file as:
Typeface typeFace = Typeface.createFromAsset(getAssets(), "fonts/font_name.ttf");
- Now, get the child item (toolbar title textview) from the existing toolbar, the default toolbar and pass the typeface object we created above.
((TextView) toolbar.getChildAt(0)).setTypeface(typeFace); // set custom typeface - font
- Finally, change the text size of toolbar's title text view
((TextView) toolbar.getChildAt(0)).setTextSize(30); // set title font size
Solution 5:
Try this in onCreate
:
android.support.v7.app.ActionBar actionbar = getSupportActionBar();
TextView textview = new TextView(MainActivity.this);
RelativeLayout.LayoutParams layoutparams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
textview.setLayoutParams(layoutparams);
textview.setText(getString(R.string.your_string));
textview.setTextColor(Color.WHITE);
textview.setTextSize(18);
actionbar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
actionbar.setCustomView(textview);
This is taken from Android-Examples.com.