如何更改 Android 应用程序中工具栏标题的字体?
Google Fonts 提供了多种字体,可用于在 Android Studio 中设置文本样式。合适的字体不仅可以增强用户界面,还可以表示和强调文本的目的。在本文中,您将学习如何更改 Android 应用程序中工具栏标题的字体系列。在Android应用程序中,工具栏标题预设在应用程序的上部。下面是一个示例图像,显示了工具栏标题所在的位置。
有两种方法可以更改工具栏标题的字体。
方法一:在activity_main.xml文件中添加子TextView
在方法 1 中,只需转到 activity_main.xml 文件并在工具栏小部件中添加一个具有 font-family 属性的 TextView。 activity_main.xml文件的完整代码如下。
XML
Java
import android.graphics.Typeface;
import android.os.Bundle;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = findViewById(R.id.toolbar);
// Custom title
TextView textCustomTitle = (TextView) findViewById(R.id.custom_title);
// Custom font
Typeface customFont = Typeface.createFromAsset(this.getAssets(), "fonts/sans-serif-smallcaps.ttf");
// Set
textCustomTitle.setTypeface(customFont);
setSupportActionBar(toolbar);
}
}
Kotlin
import android.graphics.Typeface
import android.os.Bundle
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.Toolbar
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val toolbar: Toolbar = findViewById(R.id.toolbar)
// Custom title
val textCustomTitle: TextView = findViewById(R.id.custom_title)
// Custom font
val customFont = Typeface.createFromAsset(this.assets, "fonts/sans-serif-smallcaps.ttf")
// Set
textCustomTitle.typeface = customFont
setSupportActionBar(toolbar)
}
}
XML
输出界面:
方法 2:通过以编程方式设置 TextFont
首先,在项目的src/main/assets/fonts/中添加一个字体文件。然后为工具栏和文本标题创建变量并调用findViewById()方法。从指定的字体数据创建一个新的字体。最后在文本标题中设置字体。下面是MainActivity 的完整代码。 Java/MainActivity.kt文件。
Java
import android.graphics.Typeface;
import android.os.Bundle;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = findViewById(R.id.toolbar);
// Custom title
TextView textCustomTitle = (TextView) findViewById(R.id.custom_title);
// Custom font
Typeface customFont = Typeface.createFromAsset(this.getAssets(), "fonts/sans-serif-smallcaps.ttf");
// Set
textCustomTitle.setTypeface(customFont);
setSupportActionBar(toolbar);
}
}
科特林
import android.graphics.Typeface
import android.os.Bundle
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.Toolbar
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val toolbar: Toolbar = findViewById(R.id.toolbar)
// Custom title
val textCustomTitle: TextView = findViewById(R.id.custom_title)
// Custom font
val customFont = Typeface.createFromAsset(this.assets, "fonts/sans-serif-smallcaps.ttf")
// Set
textCustomTitle.typeface = customFont
setSupportActionBar(toolbar)
}
}
下面给出了相应的activity_main.xml文件。
XML
输出界面: