android:textview自动截断并替换字符串的最后3个字符

8aqjt8rx  于 2021-07-05  发布在  Java
关注(0)|答案(3)|浏览(423)

如果 StringTextView 的宽度自动换行到下一行。我可以通过使用 android:singleLine (已弃用)或通过设置 android:inputType="text" . 我现在需要的是一些东西,取代我的最后3个字符 String 加上“…”。由于我不使用单空格字体,这将永远是不同的,取决于在我的字体中使用的字母 String . 所以我想知道什么是最好的方法来获得一个字符串中的最后3个字符 TextView 并替换它们。也许在android框架中已经实现了一些东西,因为这肯定是一个常见的问题。

7cwmlq89

7cwmlq891#

通过编程,您可以使用:

TextView tx = new TextView(this);
tx.setTextSize(13);
tx.setGravity(Gravity.CENTER);
tx.setTop(90);
tx.setText("Long text here");
tx.setTextColor(Color.BLACK);
tx.setSingleLine(true);
tx.setEllipsize(TruncateAt.END);
wyyhbhjk

wyyhbhjk2#

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

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

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

dly7yett

dly7yett3#

为这个问题找到了一个有趣的解决办法。

maxLines=1
ellipsize=end
scrollHorizontally=true

诀窍是关于水平滚动的最后一句话。。。。过来看。它至少可以在v2.2上运行。

相关问题