如何使文本的方向从右到左

我想在TextView中(从右到左的语言,即阿拉伯文)写入文本。 但是我想把文字的写作方向从右到左。 gravity:right只能alignment文本。 我想从右到左certificate文本的正确性(使字和数字出现在他input的顺序中)。 怎么样 ?

Solutions Collecting From Web of "如何使文本的方向从右到左"

另一个可以在老版本的android中使用的聪明方法,可以在string的任何位置使用,因此即使在最新版本的android中也可以使用,方法是在string中包含从右到左的标记从左到右的标记何时需要:

 left-to-right mark: ‎ or ‎ (U+200E) right-to-left mark: ‏ or ‏ (U+200F) 

这是如何下降:

 String rtl = "Hello \u200F(سلام)"; 

关于这个方法的好处是,你甚至可以在标点符号之后使用它(例如{,[,!

 سلام! // wrong position سلام!‏ // right position by adding RLM after ! 

看看怎么样 在第二行中正确定位,实际上在它后面有一个RLM,即使它不可见也可以复制粘贴。

你看到的第二件好事就是你可以在任何支持RTL(如浏览器,单词等)的系统中使用这种方法(这些char代码)。

只要把这个属性放在你的TextView中,一切都会好起来,它会自动检测你的文本并相应地改变

 android:textDirection="anyRtl" 

太晚了,但android:gravity="right"工作。

在正常编辑文本的情况下,这将工作

  android:textDirection="rtl" 

但在密码字段的情况下,这是不够的,然后按照这个;

  android:textDirection="rtl" android:gravity="right" 

机器人:textDirection = “语言环境”

//在text.xml中为xml设置此行。

尝试使用

  textview.setTextDirection(View.TEXT_DIRECTION_RTL); 

要么

  textview.setTextDirection(View.TEXT_DIRECTION_ANY_RTL); 

试试这个,因为它为我工作android:textDirection="rtl"

只是join我自己的经验与这样的问题。 在我的情况下,除了build议的解决scheme之外,我还必须用RTL(在我的情况下是希伯来语)来代替英文字符“

通过在我的xml代码中使用下面的属性奇怪,我有正确的标点符号左边的文本。 但是,这不是多语言文本的完美解决scheme:

 android:textDirection="ltr" android:gravity="right" 

设置ltr纠正标点问题,如点右边而不是左边。

引力属性使文本从右向左stream动。

将这些添加到您的editText:

 android:gravity="right" android:textDirection="rtl" 

PS: android:textDirection需要API级别17