从Android Studio 3.0开始,它非常容易更改字体系列
使用支持库26,它将在运行Android API版本16和更高版本的设备上运行
在res目录下创建一个文件夹字体。下载你想要的字体并将其粘贴到字体文件夹中。结构应该如下所示
注意:从Android Support Library 26.0开始,您必须声明两组属性(Android:和app:),以确保在运行的设备上加载字体Api 26或更低。
现在,您可以使用
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/dancing_script"
app:fontFamily="@font/dancing_script"/>
以程序方式更改
Typeface typeface = getResources().getFont(R.font.myfont);
//or to support all versions use
Typeface typeface = ResourcesCompat.getFont(context, R.font.myfont);
textView.setTypeface(typeface);
要使用styles.xml更改字体,请创建样式
<style name="Regular">
<item name="android:fontFamily">@font/dancing_script</item>
<item name="fontFamily">@font/dancing_script</item>
<item name="android:textStyle">normal</item>
</style>
并将此样式应用于TextView
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Regular"/>
也可以创建自己的字体系列
-右键单击字体文件夹并转到“新建”>“字体资源文件”。此时将显示“新建资源文件”窗口。
-输入文件名,然后单击“确定”。新的字体资源XML将在编辑器中打开。
例如,在这里编写自己的字体系列
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
<font
android:fontStyle="normal"
android:fontWeight="400"
android:font="@font/lobster_regular" />
<font
android:fontStyle="italic"
android:fontWeight="400"
android:font="@font/lobster_italic" />
</font-family>
这只是将特定的fontStyle和fontWeight映射到将用于呈现该特定变体的字体资源。fontStyle的有效值为normal或italic;fontWeight符合CSS字体权重规范
1.要更改布局中的字体族,可以编写
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/lobster"/>
2.程序性改变
Typeface typeface = getResources().getFont(R.font.lobster);
//or to support all versions use
Typeface typeface = ResourcesCompat.getFont(context, R.font.lobster);
textView.setTypeface(typeface);
要更改整个应用程序的字体,请在AppTheme中添加这两行
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:fontFamily">@font/your_font</item>
<item name="fontFamily">@font/your_font</item>
</style>
有关更多信息,请参阅文档,Android自定义字体教程