2012-08-05 114 views
7

我想用我的应用程序名称显示一个字符串,它是当前版本。 应用程序名称为希伯来语,对于某些将希伯来语文本与数值结合使用时,数值会翻转的部分。安卓希伯来语RTL字符串与数字值翻转

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

例如:应用程序版本是1.0,在仿真器上显示为0.1。

回答

10

听起来像是Android的bidi算法中的一个错误。请尝试将围绕数字左到右标记:

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

(。这样的话,你或许可以消除第二个)

+0

谢谢,这工作,但'\ u200e'添加一个奇怪的字符串 – jkigel 2012-08-05 09:09:39

+0

@jkigel - 听起来像在bidi算法错误之上的字体问题。我能建议的唯一的事情就是尝试一种不同的字体。您可能必须将自己的字体与您的应用程序打包才能控制此功能。有一些希伯来语的免费字体。 Ezra SIL是一款经典外观的优秀字体。您可以通过简单的网页搜索找到许多其他人。 – 2012-08-05 09:13:39

+1

谢谢!我会尝试的 – jkigel 2012-08-05 09:15:21

0

我认为,土特产品需要的款式输出字符串一个CSS使用dir =“RTL”标签 - 将修复您的数字和特殊字符的方向性希伯来文