android:ellipsize ="end"和android:maxEms无效

And*_*per 7 android textview android-layout

我补充道

android:ellipsize="end"
android:maxEms="8"
android:singleLine="true"
Run Code Online (Sandbox Code Playgroud)

TextView打算在结尾显示三个点,最大文本限制为8,但它不起作用.它既不显示点也不显示任何文本限制.

Mar*_*rko 12

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

android:ellipsize="end"
android:singleLine="true"
Run Code Online (Sandbox Code Playgroud)

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

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

android:maxLength="8"
Run Code Online (Sandbox Code Playgroud)

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

像这样的东西

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

android:maxEms是以前的事情,你可以阅读更多关于它

Ems是什么意思?(Android TextView)


Aja*_*her 6

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" />
Run Code Online (Sandbox Code Playgroud)

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