机器人:ellipsize ="端"和android:maxEms无法正常工作

时间:2015-12-11 18:26:46

标签: android android-layout textview

我添加了

android:ellipsize="end"
android:maxEms="8"
android:singleLine="true"

到我的TextView,目的是在结尾处显示三个点,最大文本限制为8,但它不起作用。它既不显示点也不显示任何文本限制。

3 个答案:

答案 0 :(得分:12)

添加“三点效果”的两个属性都是正确的

android:ellipsize="end"
android:singleLine="true"

但只有当TextView屏幕上没有任何可用空间才能显示文字时,效果才会发生。

要设置TextView中的文字限制,您可以使用

android:maxLength="8"

但它没有添加三个点,据我所知你必须手动完成。

像这样的东西

String text = "A bit longer text";
if (text.length() > 8) {
    text = text.substring(0, 8) + "...";
}

android:maxEms不是以前的其他内容,您可以阅读更多相关信息

What is meant by Ems? (Android TextView)

答案 1 :(得分:2)

ellipsize不适用于宽度wrap_content

您可以直接尝试以下示例进行测试。

<TextView
    android:layout_width="30dp"
    android:text="jhakjshdkajdhkjashkjdhakjsdjas"
    android:maxLines="1"
    android:lines="1"
    android:singleLine="true"
    android:ellipsize="end"
    android:layout_height="wrap_content" />

我希望这可以帮助您解决问题。

答案 2 :(得分:0)

出于某种原因,我不小心放了:

android:inputType="textCapSentences"

在我的TextView上阻止了我的椭圆显示