textView的不同的线的不同的文本方向

时间:2016-07-02 10:40:33

标签: android localization right-to-left

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

Multi directional Text View

我该如何实现这个目标?

更新

babadaba 回答时, TEXT_DIRECTION_ANY_RTL 完全符合我的要求。以下是评论中的解释:

  

文字方向正在使用" any-RTL"算法。段落方向是RTL,如果它包含任何强RTL字符,否则它是LTR,如果它包含任何强LTR字符。如果两者都没有,则段落方向是视图已解析的布局方向。

现在,问题是如何在早于17的API级别中实现ANY_RTL?

1 个答案:

答案 0 :(得分:2)

像这样创建Textview:

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

如果它有强烈的阿拉伯字母或非阿拉伯字母,则应检查每条线四条,并相应地格式化线条。

对于较旧的API级别,您可以尝试手动将unicode \ u200F添加到您想要rtl布局的行。