android - 如何防止希伯来语和阿拉伯语的自动从右到左文本方向?

标签 android android-layout localization right-to-left

在 TextView 中,当文本以希伯来字母开头时,整个文本将以 RTL 模式显示。

问题是在我的例子中只有第一个单词是希伯来语,而整个句子是英语,所以不是

 דני went to school

用户看到

                                                  went to school דני

(英语阅读时,第一个词在句末)

如何防止这种情况发生并强制文本从左侧开始?

最佳答案

Unicode 字符本质上是 LTR 或 RTL。在大多数情况下,整个文本的方向都是从第一个字符开始的。希伯来字符是 RTL。

参见 http://en.wikipedia.org/wiki/Bi-directional_text

您的文本以 RTL 字符开头,因此被视为 RTL。您可以使用从左到右的标记"\u200E" 强制将其视为 LTR。

以这个特殊字符开始你的文本将告诉布局系统整个文本的明确方向。不过,RTL 部分仍将被视为这样,因为字符是明确的 RTL。

例如,数字不是很强的指示符,因此不会影响它们所在部分的方向。因此,不同方向部分之间的数字可能是个问题,可能需要明确指示。

关于android - 如何防止希伯来语和阿拉伯语的自动从右到左文本方向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27910465/

相关文章:

android - 在 ImageView 中淡化图像边框

java - 如何以编程方式创建 DialogFragment 布局

Android Nougat 忽略位于 res/values-zh-rTW 中的字符串资源

android - WrongViewCast 错误 : Unexpected implicit cast to TabLayout: layout tag was Linear Layout

java - 如何从内存中的流式 zip 文件访问 zipEntry

android - 如何将 Activity 中的工具栏背景颜色设置为 colors.xml 文件中的颜色?

c# - ResourceManager 是否自动加载所有文化?

localization - 使用 gettext 和 .po 文件时组合键和全文

android - 无法使用 gradle 4.1 : "unknown element * found" 构建项目

android - 在 Eclipse 中构建多个(测试/生产)版本的 Android APK