gpt4 book ai didi

java - TextView 中部分左对齐和部分右对齐的文本。为什么这不起作用?

转载 作者:行者123 更新时间:2023-11-29 03:37:52 25 4
gpt4 key购买 nike

我在使用 TextView 时遇到问题,其中一些文本应该左对齐,一些文本应该右对齐。

这是我的尝试。

String LeftText = "LEFT";
String RightText = "RIGHT";


String resultText = LeftText + " " + RightText;
SpannableString styledResultText = new SpannableString(resultText);
styledResultText.setSpan(new AlignmentSpan.Standard(Alignment.ALIGN_OPPOSITE), LeftText.length() + 1, LeftText.length() + 2 + RightText.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(styledResultText);

这是 TextView 的 xml。

<TextView
android:id="@+id/titleBar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge"
/>

但是这不起作用。所有文本都左对齐。我在这里缺少什么?

最佳答案

如果 rightText 不需要靠边右对齐,您可以使用 TabStopSpan 轻松解决问题。

final TextView tv = ...
int column = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
(float) 200.0, getResources().getDisplayMetrics());

SpannableStringBuilder textspan = new SpannableStringBuilder("Charges\nPrice\t$25.00\nShipping\t$155.08\nTax\t$5.11\n");
textspan.setSpan(new TabStopSpan.Standard(column), 0, textspan.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
tv.setText(textspan);

如果您希望它移动到 TextView 的右边缘附近,您可以使用全局布局监听器在布局后设置制表位。然后你可以使用 textview 的宽度在边缘附近设置一个制表位。

如果你想让它右对齐,你只需要创建一个扩展 ReplacementSpan 的类,它会为你证明文本的合理性..

关于java - TextView 中部分左对齐和部分右对齐的文本。为什么这不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14551759/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com