我试图使用字体资源目录并在xml文件中使用不同的字体,以便优先使用它们。我读过此thread,但无法解决问题。我正在使用支持库v27,我知道它支持res中的字体而不是素材资源文件夹。每当我更改应用程序的语言时,它仅使用位于font-fa-rIR文件夹中的字体。我希望应用程序分别对不同类型的语言使用不同的字体。我已经附上了应用程序res目录中的图像。我的问题在哪里?我该如何解决?预先感谢。
preference_button.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="8dp">
<TextView
android:id="@android:id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_1" />
<TextView
android:id="@+id/summary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_1" />
</LinearLayout>
答案 0 :(得分:1)
这可能会帮助您
Locale locale2 = new Locale("fr");
Locale.setDefault(locale2);
Configuration config2 = new Configuration();
config2.locale = locale2;
getBaseContext().getResources().updateConfiguration(
config2, getBaseContext().getResources().getDisplayMetrics());
Res字体
TextView tv_the = (TextView) findViewById(R.id.the);
Typeface face = Typeface.createFromAsset(getAssets(), "font.ttf");
tv_the.setTypeface(face);
有关更多信息:How to set custom font in .xml file instead of .java file?