如何在一个TextView行上同时将文本左对齐和右对齐?

4
我想在单行TextView的左右两侧设置文本。为此,我使用SpannableStringBuilder。
以下是示例:
mSpannableStringBuilder.append("leftright");
mSpannableStringBuilder.setSpan(new AlignmentSpan.Standard(Alignment.ALIGN_NORMAL), 0, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
mSpannableStringBuilder.setSpan(new AlignmentSpan.Standard(Alignment.ALIGN_OPPOSITE), 4, 8, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
mTextView.setText(mSpannableStringBuilder, BufferType.SPANNABLE);

但它不起作用... 请问有什么建议吗? 谢谢。

可能是Android TextView文本对齐问题的重复。 - CommonsWare
可能是重复的问题:如何使 Android TextView 中的某一部分右对齐 - M. Reza Nasirloo
可行的解决方案 https://dev59.com/XmUq5IYBdhLWcg3waPtC#36488501 - M. Reza Nasirloo
3个回答

0

可以使用标签来实现,但需要在左右字符串之间加入换行符,这有点麻烦。如果没有换行符,它只能将行左对齐或右对齐,而不能分割为左右两部分。


0

我只是在xml文件中使用如下代码:

<RelativeLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:gravity="center_horizontal" > <TextView android:text="AAA:" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="#3b5998" android:layout_marginRight="5px" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" /> <TextView android:id="@+id/maine" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="未设置" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="#0040FF" android:layout_alignParentRight="true" android:layout_alignParentTop="true"
/> </RelativeLayout>


0

检查您的XML标记是否包含“android:textAlignment”或“android:gravity”属性。如果是,请将其删除。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接