在我的多语言应用程序中,我根据第一个字符处理TextView的文本方向,即RTL或LTR。然后也会相应地设定重力。 我想要的是单个TextView的不同行,以拥有自己的文本方向和/或重力。
我该如何实现这个目标?
更新
当 babadaba 回答时, TEXT_DIRECTION_ANY_RTL 完全符合我的要求。以下是评论中的解释:
文字方向正在使用" any-RTL"算法。段落方向是RTL,如果它包含任何强RTL字符,否则它是LTR,如果它包含任何强LTR字符。如果两者都没有,则段落方向是视图已解析的布局方向。
现在,问题是如何在早于17的API级别中实现ANY_RTL?
答案 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布局的行。