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

Apu*_*rva 86 android toolbar text-size

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

是否可以更改文本的文本大小Toolbar

Vuk*_*vić 261

用途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" />
Run Code Online (Sandbox Code Playgroud)

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

<style name="Toolbar.TitleText" parent="TextAppearance.Widget.AppCompat.Toolbar.Title">
    <item name="android:textSize">18sp</item>
</style>
Run Code Online (Sandbox Code Playgroud)

结果:

截图


mas*_*a98 23

例如这是你的工具栏

<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" />
Run Code Online (Sandbox Code Playgroud)

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

    app:titleTextAppearance="@style/yourstyle"
Run Code Online (Sandbox Code Playgroud)

style.xml

  <style name="yourstyle" parent="@style/Base.TextAppearance.AppCompat.Title">
    <item name="android:textSize">20sp</item>
</style>
Run Code Online (Sandbox Code Playgroud)

像那样...


Sim*_*mas 7

您可以将 a 添加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>
Run Code Online (Sandbox Code Playgroud)

  • 这似乎是适合支持 API &lt; 21 的应用程序的答案。 titleTextAppearance 是一个不错的解决方案,但仅适用于 API 21 及更高版本。但是,使用此解决方案我们需要处理一些复杂的问题。如果您使用的是 SearchView,则视图的展开版本不会一直延伸到左端。相反,它只会延伸到新添加的标题文本视图的右边缘。所以你必须在那里做一些定制,但这又是一个特定的案例。一般来说,这对于任何平台版本都是一个很好的解决方案。 (4认同)

OMi*_*hah 5

[Optional steps 1 & 2)

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

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

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

  • 欢迎来到 SO!请添加一些描述以支持您的回答。 (2认同)