Android 为什么';文本视图的默认文本方向是否与区域设置匹配?

Android 为什么';文本视图的默认文本方向是否与区域设置匹配?,android,textview,locale,right-to-left,Android,Textview,Locale,Right To Left,TL;DR在RTL布局中,是否应该镜像拉丁文本,如果是,为什么Android默认不这样做 我正在尝试在我的应用程序中实现RTL支持,我遇到的一个问题是,默认情况下,拉丁字符不会出现在TextView或EditText的右侧。我会认为,即使应用程序没有被翻译成RTL语言,行为也应该是照搬文本 通过设置android:textDirection=“locale”甚至android:textalign=“viewStart”可以很容易地解决这个问题,但为什么这不是开始时的默认设置呢?因此,我想知道这

TL;DR在RTL布局中,是否应该镜像拉丁文本,如果是,为什么Android默认不这样做


我正在尝试在我的应用程序中实现RTL支持,我遇到的一个问题是,默认情况下,拉丁字符不会出现在
TextView
EditText
的右侧。我会认为,即使应用程序没有被翻译成RTL语言,行为也应该是照搬文本

通过设置
android:textDirection=“locale”
甚至
android:textalign=“viewStart”
可以很容易地解决这个问题,但为什么这不是开始时的默认设置呢?因此,我想知道这是否是显示RTL拉丁文本的正确方法,或者它是否仍然应该与原始脚本匹配

这张图片有助于说明我所指的内容。此处,
EditText
光标位于右侧,但英文提示仍位于左侧


首先,我是伊朗人,我们的语言是RTL。实际上,这完全取决于应用程序的设计,但在大多数情况下,我们通常期望默认行为(如您提供的照片)。你可以查看阿里巴巴旅行社(Alibaba Travels)的截图,这是伊朗最流行的机票购买应用程序。当机场/城市的名称为波斯语时,它们将向右对齐,反之亦然

但在某些上下文中,如显示大多数项目为RTL的产品描述的表格,将LTR项目向右对齐完全有意义。你可以看看下面的Digikala(它是伊朗最大的在线商店)


与TextView类似,提示语言的优先级高于方向,而不是系统布局方向。尝试使用阿拉伯语提示。是的,我意识到阿拉伯语提示会起作用,但使用阿拉伯语的人肯定会认为拉丁语文本是正确的?尤其是光标所在的位置!对此我不是很确定。如果你所说的是要遵循的话,那么这难道不意味着我们(使用ltr的人)的阿拉伯文文本应该从左边开始,然后它就会失去它的意义,我想?但是如果能从一个使用阿拉伯语的人那里确认这一点,并得到他的想法,那将是一件很棒的事情。这是一个有趣的观点,我不确定。然而,我见过的大多数阿拉伯语应用程序都将拉丁语文本放在右边,因为并不是所有内容都经过翻译,比如:哦,我认为这是因为他们只为RTL用例设计应用程序。所以他们的重力和一切都是正确的/结束的。迷人的洞察力,谢谢!所以我想安卓系统确实符合你的期望。我注意到第二张图片中的位置图标是左对齐的,它们是否真的随文本(RTL或LTR)动态变化?不客气!是的,在大多数情况下,默认行为满足用户的要求。而且,据我记忆所及,DrawableStart会自动对齐自身。