【问题标题】:When system language changes, font isn't applied当系统语言改变时,字体不被应用
【发布时间】:2020-05-15 05:45:27
【问题描述】:

我希望我的应用支持不同的语言,现在我只添加了两种(英语和俄语),因为遇到了这个问题。我还在样式中为整个应用添加了一种字体:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
       ...
       ...
    <item name="android:fontFamily">@font/finger_paint</item> // this line
</style>

由于我的手机语言通常是英语,因此我的应用程序运行良好,因此应用了以下字体:

但是当我将手机语言更改为俄语时,发生了一些奇怪的事情:

字体适用于数字,但不适用于俄语单词! 我尝试制作另一个可绘制资源文件(styles-ru.xml)并在那里添加字体,但没有任何改变:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    ...
    <item name="android:fontFamily">@font/carter_one</item> // this line
</style>

我的值文件夹如下所示:

为什么会这样?我怎么解决这个问题?谢谢你的帮助。

【问题讨论】:

标签: java android fonts


【解决方案1】:

使用此库以编程方式将字体添加到您的应用程序

https://github.com/chrisjenx/Calligraphy

【讨论】:

    【解决方案2】:

    问题不是因为我。事实证明,这种字体根本不支持俄语字母。例如,当我将德语添加到我的项目中时,该字体效果很好。

    【讨论】:

      猜你喜欢
      • 2021-08-01
      • 1970-01-01
      • 2022-01-05
      • 1970-01-01
      • 2016-01-06
      • 1970-01-01
      • 1970-01-01
      • 2021-10-04
      • 2019-09-12
      相关资源
      最近更新 更多