我想在 Toolbar中更改文本的大小。因为在我的应用程序中,Toolbar文本对于横向和纵向模式都有不同的大小。
Toolbar
是否可以改变 Toolbar中文本的大小?
您可以添加一个 TextView到您的工具栏和自定义您想要的:
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:
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>
结果:
在 onCreate试试这个:
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)
然后从字体文件中创建一个 Typeface 对象,如下所示:
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