Android:TextView 会自动截断并替换字符串的最后 3 个字符

2022-08-31 07:45:02

如果 a 的长度大于 的宽度,它会自动换行到下一行。我可以通过使用(已弃用)或设置来避免这种情况。我现在需要的是用“...”替换我的最后3个字符的东西。由于我没有使用等宽字体,因此根据我的.所以我想知道在a中获取字符串的最后3个字符并替换它们的最佳方法是什么。也许在Android框架中已经实现了一些东西,因为这一定是一个常见的问题。StringTextViewandroid:singleLineandroid:inputType="text"StringStringTextView


答案 1

您应该能够使用文本视图的“ellipsize”属性:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/text_mytext"
    android:ellipsize="end"
    android:maxLines="1"
/>

您可能还需要将重力值应用于布局;我有时会看到没有它们的“自动拉伸”视图。


答案 2

为这个问题找到了一个有趣的工作。

maxLines=1
ellipsize=end
scrollHorizontally=true

诀窍是关于水平滚动的最后一句话....来看看吧。它至少适用于v2.2。


推荐