【问题标题】:How to change the toolbar text size?如何更改工具栏文字大小?
【发布时间】:2015-04-13 18:28:19
【问题描述】:

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

Toolbar中的文字大小可以更改吗?

【问题讨论】:

    标签: android toolbar text-size


    【解决方案1】:

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

    结果:

    【讨论】:

    • 它有效,感谢您的解决方案!节省了我很多时间!
    【解决方案2】:

    例如这是你的工具栏

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

    这样……

    【讨论】:

    • 出于某种原因android:gravity="center" 没有为我设置居中对齐方式....:-/
    【解决方案3】:

    您可以将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>
    

    【讨论】:

    • 这似乎是一个适合支持 API
    【解决方案4】:

    [Optional steps 1 &amp; 2)

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

    然后从字体文件创建一个字体对象:

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

    【讨论】:

    • 欢迎来到 SO!请添加一些描述以支持您的回答。
    • 这个答案出现在 SO.. 的低质量帖子中。你能在你的答案中添加任何评论吗?解释你的逻辑,并对你的代码打算做什么做一点评论。这将有助于 OP,但它也将作为未来用户的评论
    • 如果你有导航图标,你应该使用 getChildAt(1) :)
    【解决方案5】:

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-12
      • 2015-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多