如果一个StringTextView的宽度更长自动折到下一行。我可以通过使用android:singleLine(不建议使用),或通过设置android:inputType="text"避免这种情况。我现在需要的是什么,跟我替换的String的最后3个字符“ ... ”。因为我不使用等宽字体取决于我String使用的字母,这将永远是不同的。所以我不知道什么是得到一个字符串的最后3个字符的TextView和替换它们的最好方法。也许有已经在Android框架中实现的东西,因为这必须是一个常见的问题。

有帮助吗?

解决方案

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

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

您可能还需要重力值适用于布局太;我已经有时可见“自动拉伸”视图,而它们。

其他提示

发现一个有趣的工作一个轮针对此问题。

maxLines=1
ellipsize=end
scrollHorizontally=true

诀窍是,有关水平滚动的最后一条语句....检查出来。它至少作用于v2.2中。

编程,可以使用:

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);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top