如何在Android工具栏中设置自定义字体标题

54

我正在做这件事:

toolbar = (Toolbar) findViewById(com.sports.unity.R.id.tool_bar);
setSupportActionBar(toolbar);
setTitle("hello");

我想为标题“hello”中的文本设置自定义字体。如何做到这一点?

24个回答

0

只需下载您想要在标题中显示的字体,将其移动到res->font文件夹下,并在那里创建一个名为fontfamily的文件。

<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
<font
    android:fontStyle="normal"
    android:fontWeight="400"
    android:font="@font/futura_book" />


<font
    android:fontStyle="normal"
    android:fontWeight="400"
    android:font="@font/your font file name" />




</font-family>

现在只需要在您的 XML 文件中添加 fontfamily="您下载的字体名称,如 a.ttf" 即可。


0

我刚把我的字体添加到我在res文件夹中创建的字体文件夹中,与其他字体一起,然后我为该工具栏制作了自定义XML文件。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center">

<TextView
    android:id="@+id/action_bar_image"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/app_name"
    android:textSize="30sp"
    android:fontFamily="@font/yourfont"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"/></LinearLayout>

然后,我将这个添加到我的MainActivity

getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
    getSupportActionBar().setDisplayShowCustomEnabled(true);
    getSupportActionBar().setCustomView(R.layout.your_xml_file);

OTF 和 TTF 都可以使用


0

最佳答案确实是最好的。如果你想要增加(调整字体大小)并改变颜色,那么可以按照下面这样更新你的样式:

<style name="NexaBoldToolbar">
    <item name="android:fontFamily">@font/nexabold</item>
    <item name="android:textSize">18sp</item>
    <item name="android:textColor">@color/fullWhite</item>
</style>

0

我建议在工具栏中使用TextView,因为与使用标题属性相比,它会提供更好的自定义选项。

就像这里展示的一样:

 <com.google.android.material.appbar.MaterialToolbar
    android:id="@+id/materialToolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="top"
    android:minHeight="?attr/actionBarSize"
    android:theme="?attr/actionBarTheme"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_wrapBehaviorInParent="included"
    app:menu="@menu/top_app_bar">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:fontFamily="@font/inter_bold"
        android:text="Good day, Megha J Kamdar"/>
</com.google.android.material.appbar.MaterialToolbar>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接