TextView始终存在RTL(从右到左)语言的问题.由于我只知道如何阅读希伯来语(除了英语),我将讨论它的问题:
文本对齐(我不是在谈论引力).作为一种RTL语言,希伯来语从右到左放置单词(与英语相反).
为了展示它是多么令人讨厌,想象一下,而不是展示"Hello world".你通常得到".Hello world".如果你只用一个句子就可以很容易地解决这个问题,但是当有多个标点字符时会更难.
元音位置.希伯来语不需要元音来阅读文本,但有时没有它们就很难阅读(特别是圣经).对于元音,希伯来语有所谓的"NIKUD",它实际上就像字母内部的点.Android中的问题是它们通常位于错误的位置.
为了展示它是多么令人讨厌,想象一下,而不是展示"Hello world".你通常得到".eHlol owrld".即使你试图修复它(把元音总是放在当前元素之后的一个字符),字母中的位置也不正确(想象"Hello"中的"e"就像"H"之上的那样,例子).
仅在版本4.2(在此处阅读,在"原生RTL支持"下),谷歌已经修复了所有希伯来语相关问题(或者至少看起来如此).
希伯来语的问题导致每个以色列航空公司和每个定制ROM制造商都有自己的解决方案来解决不同的问题,这使得在4.2之前的设备上处理RTL文本几乎是不可能的.
如果文本包括希伯来语和英文字母,事情会变得更加令人沮丧.
我已经阅读了很多关于这些问题的网站,我尝试了很多解决方案,没有一个解决了所有设备上的问题:
有人建议将字符'\ u200F'(或'\ u202D')放在文本的结尾/开始/两个位置.
有人建议使用Html.fromHtml()方法并在那里添加一些特殊内容.
有些人甚至建议使用WebView(也许使用WebSettings.setDefaultTextEncodingName()).
这个问题有一个明确的解决方案吗?
我认为最好的事情是因为Android 4.2解决了这个问题,并且Android是开源的,我们应该将其TextView导入到我们可以使用的库中,但谷歌还没有提供这样的库.
我使用阿拉伯语文本,所以我想从右到左书写文字,这样我怎么能在android中写出从右到左的文字?
问候,Girish