我有一个包含英语和波斯语的字符串。我想如果一行以Persian charachter开头,那么这一行在文本视图中从右到左显示,如果一行以英文字符开头,则该行从左到右排列。
注意:我想在文本视图中为每一行设置重力/方向。
如何在android textview中实现它。
这是我的textview xml代码:
<TextView
android:id="@+id/textViewContent"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:autoLink="web"
android:layoutDirection="rtl"
android:gravity="start"
android:layout_gravity="start"
android:text="My Text"
android:textColor="#000"
android:textDirection="rtl" />
答案 0 :(得分:4)
答案 1 :(得分:1)
您可以使用TextView的属性来对齐文本内容。
将布局中的文本对齐
android:gravity="start"
在布局中将文本右对齐。
android:gravity="end"
答案 2 :(得分:0)
使用gravity属性。
而不是左/右使用开始,为rtl支持添加了。
https://developer.android.com/reference/android/widget/TextView.html#attr_android:gravity
答案 3 :(得分:0)
像这样使用
if (textview.contentEquals("persian")) {
textview.setGravity(Gravity.START);
} else if (textview.contentEquals("english")) {
textview.setGravity(Gravity.END);
}
答案 4 :(得分:0)
我猜你可以尝试使用spannable和Alignment属性:
Alignment.ALIGN_OPPOSITE(右)和Alignment.ALIGN_NORMAL(左)。