如何更改工具栏文本大小?

我想在 Toolbar中更改文本的大小。因为在我的应用程序中,Toolbar文本对于横向和纵向模式都有不同的大小。

是否可以改变 Toolbar中文本的大小?

102989 次浏览

您可以添加一个 TextView到您的工具栏和自定义您想要的:

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

例如,这是你的工具栏

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

你可以简单的添加这个视图

    app:titleTextAppearance="@style/yourstyle"

style.xml

  <style name="yourstyle" parent="@style/Base.TextAppearance.AppCompat.Title">
<item name="android:textSize">20sp</item>
</style>

像这样..。

使用 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" />

并以自定义样式覆盖默认标题大小:

<style name="Toolbar.TitleText" parent="TextAppearance.Widget.AppCompat.Toolbar.Title">
<item name="android:textSize">18sp</item>
</style>

结果:

Screenshot

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

这是从 Android-examples.com拍的。

[Optional steps 1 & 2)

  1. 将字体文件放在“ Project/app/src/main/asset/fonts/”文件夹中。

然后从字体文件中创建一个 Typeface 对象,如下所示:

Typeface typeFace = Typeface.createFromAsset(getAssets(), "fonts/font_name.ttf");
  1. 现在,从现有工具栏(默认工具栏)获取子项(工具栏标题 textview) ,并传递我们在上面创建的字体对象。
((TextView) toolbar.getChildAt(0)).setTypeface(typeFace); // set custom typeface - font
  1. 最后,更改工具栏标题文本视图的文本大小
((TextView) toolbar.getChildAt(0)).setTextSize(30); // set title font size