如何更改工具栏文字大小?
Posted
技术标签:
【中文标题】如何更改工具栏文字大小?【英文标题】:How to change the toolbar text size? 【发布时间】:2015-04-13 18:28:19 【问题描述】:我想更改Toolbar
中文本的大小。因为在我的应用程序中,Toolbar
文本在横向和纵向模式下都有不同的大小。
Toolbar
中的文字大小可以更改吗?
【问题讨论】:
【参考方案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_
android:layout_
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_
android:layout_
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_
android:layout_>
<TextView
android:id="@+id/toolbar_title"
android:layout_
android:layout_
android:text="@string/app_name"
android:textSize="25sp"/>
</android.support.v7.widget.Toolbar>
【讨论】:
这似乎是一个适合支持 API 【参考方案4】:[Optional steps 1 & 2)
-
将字体文件放在“Project/app/src/main/assets/fonts/”文件夹中。
然后从字体文件创建一个字体对象:
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
【讨论】:
欢迎来到 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。
【讨论】:
以上是关于如何更改工具栏文字大小?的主要内容,如果未能解决你的问题,请参考以下文章