10 Stimmen

Ellipsen funktionieren nicht auf Android

Ich habe eine TextView. Ich möchte, dass er ellipsenförmig wird, wenn er länger als seine verfügbare Breite ist. Dies funktioniert nicht, es sei denn, die Eingabezeichenfolge hat keine Leerzeichen ... kann jemand ein Beispiel für diese Arbeit? Ich habe verschiedene Kombinationen von versucht:

singleLine="true" maxLines="1" scrollHorizontal="false"

keine dieser Maßnahmen hat irgendeine Wirkung. Wenn ich wiederum eine Zeichenfolge ohne Leerzeichen eingebe, wird die Ellipse korrekt angezeigt. Was übersehe ich? Ich habe dies mit 1.5, 1.6 und 2.0 versucht, alle mit dem gleichen Problem.

感謝

12voto

Jeremy Logan Punkte 46499

Ellipsize ist defekt (siehe Abstimmung über den Fehlerbericht (vor allem, weil sie behaupten, es sei nicht reproduzierbar), so dass Sie einen kleinen Hack verwenden müssen. Verwenden:

android:inputType="text"
android:maxLines="1"

auf alles, was Sie ellipsenförmig machen wollen. Verwenden Sie außerdem nicht singleLine ist sie seit 1.5 veraltet.

11voto

Ross Hambrick Punkte 5760

Dies war die einzige Kombination, die ich mit SDK ver4 zum Laufen bringen konnte:

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

(Ja, ich weiß, es heißt, dass es veraltet ist, aber ich habe keine andere Wahl)

2voto

jgimbert Punkte 21

Versuchen Sie es mit:

textView.setSingleLine();
TruncateAt truncate = TruncateAt.END;
textView.setEllipsize(truncate);

0voto

coderek Punkte 1770

Einfache Lösung.

int limit = 9;
if (str.length() > limit) {
    textView.setText(str.substring(0, limit)+"...");
} else {
    textView.setText(str);
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X