当用户选择新语言时,我使用this approach来设置语言环境 .
我也使用这样的样式字体:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:textAppearance">@style/Font.Default</item>
</style>
和 values
文件夹中的“ EN ”样式:
<style name="Font.Default" parent="@android:style/TextAppearance.Small">
<item name="android:fontFamily">@font/futuralt</item>
<item name="fontFamily">@font/futuralt</item>
</style>
另一种语言"ar"(代表阿拉伯语)和 values-ar 文件夹中的 another font :
<style name="Font.Default" parent="@android:style/TextAppearance.Small">
<item name="android:fontFamily">@font/gesstwolight</item>
<item name="fontFamily">@font/gesstwolight</item>
</style>
问题是当语言环境发生更改时,表示语言环境的字体未应用 Unless app restarts . 如何在设置区域设置后更改字体而不重新启动应用程序?
1 回答
更改区域设置后,您可以在某个位置调用recreate .