我正在尝试在此site上的“字体在XML”教程中添加自定义字体。我按照教程写了这封信并多次检查找到了我错过的东西,但我看不到它。我添加的字体是TTF文件。
在设计器中,我可以选择我的字体系列,TextView中的文本更改为我添加的自定义字体。但是,当我在设备上运行应用程序时,文本默认为常规字体。 Android Studio中包含的字体不会发生这种情况。
其他问题:当我尝试另一种自定义字体时,TextView中的文本更改为自定义字体,但文本本身(内容)也更改为某些乱码。这是否表示字体不好或其他什么?
sv_regular.xml
<?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/sv_font_regular" />
</font-family>
的TextView
<TextView
android:id="@+id/toolbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:fontFamily="@font/sv_regular"
android:text="@string/app_name" />
答案 0 :(得分:-1)
您的字体是否完全支持文字的语言?当字体不支持某些字符,如西里尔字符时,会发生此问题。还有一个:尝试在sv_font_regular
TextView
机器人:fontFamily中= “@字体/ sv_font_regular”
答案 1 :(得分:-1)
您可以通过编程方式执行此操作
在资源文件夹中添加外部字体
<强> 1。转到(项目文件夹)
<强> 2。然后app&gt; src&gt; main
第3。将文件夹'assets&gt; fonts'创建到主文件夹中。
<强> 4。将'abc.ttf'放入fonts文件夹。
TextView tx = (TextView)findViewById(R.id.textview1);
Typeface custom_font = Typeface.createFromAsset(getAssets(),"fonts/abc.ttf");
tx.setTypeface(custom_font);