Android 文本视图中不同行的不同文本方向

Android 文本视图中不同行的不同文本方向,android,localization,right-to-left,Android,Localization,Right To Left,在我的多语言应用程序中,我根据第一个字符RTL或LTR处理TextView的文本方向。然后重力也会相应地设置。 我想要的是单个文本视图的不同行具有自己的文本方向和/或重力 我应该如何做到这一点 更新: 正如巴巴达巴所回答的,文本、方向、任何RTL都和我想要的完全一样。以下是评论中的解释: 文本方向使用“任意RTL”算法。如果段落方向包含任何强RTL字符,则段落方向为RTL,否则,如果段落方向包含任何强LTR字符,则段落方向为LTR。如果两者都没有,则段落方向是视图的解析布局方向 现在的问题是,

在我的多语言应用程序中,我根据第一个字符RTL或LTR处理TextView的文本方向。然后重力也会相应地设置。 我想要的是单个文本视图的不同行具有自己的文本方向和/或重力

我应该如何做到这一点

更新:

正如巴巴达巴所回答的,文本、方向、任何RTL都和我想要的完全一样。以下是评论中的解释:

文本方向使用“任意RTL”算法。如果段落方向包含任何强RTL字符,则段落方向为RTL,否则,如果段落方向包含任何强LTR字符,则段落方向为LTR。如果两者都没有,则段落方向是视图的解析布局方向


现在的问题是,如何在17之前的API级别中实现任何RTL?

创建如下文本视图:

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="مرحبا \n Hello \n مرحبا"
    android:textDirection="anyRtl" />

它应该检查每一行是否有强阿拉伯文或非阿拉伯文字母,并相应地设置行的格式


对于较旧的API级别,可以尝试手动添加‏‏Unicode\u200F可用于您想要RTL布局的行。

它可以工作。唯一的一点是,属性textDirection仅在API级别17+中使用。对于旧的API有什么解决方法吗?检查我的编辑,我为旧的API级别提供了一个解决方案。试试看,如果它对你有用的话,报告:)我并不知道哪一行应该是RTL或者不是!它完全基于用户提供的内容。它可以完全使用LTR语言,也可以完全使用RTL语言。或者它可能是两个单独的行的组合,这是我们这里的问题…用户如何提供内容?通过编辑文本?如果你能告诉我你是如何得到字符串的,我可以写一个小函数,它逐行检查字符串并添加Unicode。你可以把字符串当作函数的输入参数。