2012-08-05 117 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」標籤 - 將修復您的數字和特殊字符的方向性希伯來文

相關問題