2011-08-18 102 views
1

我正在爲波斯語開發Android應用程序。我從SQLite數據庫獲取數據並使用TextView顯示它們。我如何從右向左顯示文本(包含多行)?從右到左支持Android中的TextView

任何想法?

+0

你能給有關要從右向左顯示什麼的更多詳細信息? – yoshi24

回答

0

如果Android本身不支持(我不確定),你可以創建一個字符串反轉器,它用string.length() - nth字符交換第n個字符,直到你有一個反射字符串,然後post這是正確的。

1

如果ROM支持從右到左(如果您在中東購買手機時最有可能出現這種情況),則可以將重力設置爲正確。

+0

感謝您的幫助。你是對的,但我想在全世界銷售應用程序,不限於中東。我需要一個通用解決方案。 – Farina

+0

如果問題只出現在鏡像中,那麼就像Pyrodante所說的那樣,您可以在將其設置爲TextView之前對其進行鏡像,但如果在字形映射中存在與阿拉伯語相同的問題,則不存在常規解決方案,因爲這需要在android ROM本身中進行修改。 –

0

如果ROM不支持從右到左渲染,則可以使用實現Unicode雙向排序算法的java.text.Bidi類。

0

這是一個古老的問題,但由於它沒有問得很好,所以沒有回答。 @Farina,我相信你正在尋找的答案就在這裏: http://developer.android.com/guide/topics/resources/providing-resources.html

本質:通過旁邊的佈局文件夾中創建佈局-AR文件夾,並把一個RTL面向佈局文件在裏面你可以得到它僅在rtl選定的設備上顯示。 (ar代表阿拉伯語,如果使用不同的rtl語言,你可能會發現代碼here。是的,有些設備支持舊的廢棄語言代碼,所以如果它不工作,嘗試尋找舊代碼)

相關問題