【问题标题】:Android Hebrew RTL String With Numeric Value Flipped翻转数值的Android希伯来语RTL字符串
【发布时间】:2012-08-02 15:36:15
【问题描述】:

我想用我的应用名称和当前版本显示一个字符串。 应用名称是希伯来文,有些时候我把希伯来文和数值结合起来,数值会翻转。

versionTextView.setText("אפליקציה גרסה "+this.getResources().getString(R.string.app_version));

例如:应用版本为1.0,在模拟器上显示为0.1。

【问题讨论】:

    标签: java android hebrew right-to-left


    【解决方案1】:

    听起来像是 Android bidi 算法中的一个错误。尝试在数字周围添加从左到右的标记:

    versionTextView.setText("אפליקציה גרסה "
        + "\u200e"
        + this.getResources().getString(R.string.app_version)
        + "\u200e"
    );
    

    (如果可行,您也许可以消除第二个。)

    【讨论】:

    • 谢谢,这可行,但 '\u200e' 会在字符串中添加一个奇怪的字符
    • @jkigel - 这听起来像是比迪算法错误之上的字体问题。我唯一能建议的是尝试不同的字体。您可能必须将自己的字体与您的应用程序一起打包才能控制它。有一些希伯来语的免费字体。 Ezra SIL 是一款具有古典外观的优秀字体。您可以通过简单的网络搜索找到许多其他人。
    【解决方案2】:

    我认为你需要使用 dir="RTL" 标签为输出字符串设置样式 - 这将修复希伯来语中数字和特殊字符的方向性

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-29
      • 2019-05-10
      • 2011-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多