No se puede obtener puntos suspensivos para trabajar en Android
-
18-09-2019 - |
Pregunta
Tengo un TextView. Quiero que ellipsize si es más largo que su anchura disponible. Esto no funcionará a menos que la cadena de entrada no tiene espacios ... ¿alguien puede dar un ejemplo de este trabajo? He probado diferentes combinaciones de:
SingleLine = "true" maxLines = "1" scrollHorizontally = "true"
ninguno de ellos tiene ningún efecto. De nuevo, si yo proporciono una cadena que no tiene espacios en él, a continuación, los puntos suspensivos aparece correctamente. ¿Qué me estoy perdiendo? He intentado esto en 1.5, 1.6, 2.0, toda mismo problema.
Gracias
Solución
Ellipsize se rompe (ir votación sobre el informe de error , sobre todo porque ellos dicen que no es reproducible) por lo que tendrá que utilizar un corte de menor importancia. Uso:
android:inputType="text"
android:maxLines="1"
en cualquier cosa que desee ellipsize. Además, no utilice singleLine
, que está en desuso desde 1.5.
Otros consejos
esta era la única combinación que podría ponerse a trabajar en ver4 SDK:
android:ellipsize="end"
android:singleLine="true"
(Sí, sé que dice que está en desuso, pero yo me quedo sin una opción)
Trate con:
textView.setSingleLine();
TruncateAt truncate = TruncateAt.END;
textView.setEllipsize(truncate);
solución simple.
int limit = 9;
if (str.length() > limit) {
textView.setText(str.substring(0, limit)+"...");
} else {
textView.setText(str);
}