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

时间:2015-02-12 20:38:32

标签: android toolbar text-size

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

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

5 个答案:

答案 0 :(得分:248)

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

答案 1 :(得分:21)

例如这是你的工具栏

<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>
像那样......

答案 2 :(得分: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>

答案 3 :(得分:0)

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

答案 4 :(得分:0)

Typeface typeFace = Typeface.createFromAsset(getAssets(), "fonts/font_name.ttf");

((TextView) toolbar.getChildAt(0)).setTypeface(typeFace); // set custom typeface - font
((TextView)toolbar.getChildAt(0)).setTextSize(30); // set title font size