Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android: Algo mejor que android: ellipsize = "end" para agregar "…" a cadenas largas truncadas?

Esta propiedad hace

"Palabra corta y muy larga"

  • Efecto de botón de diapositiva en el elemento de vista de lista para Android
  • Referencia dibujable de string-array en android
  • ActionBar con pestañas de navegación cambia de altura con la orientación de la pantalla
  • Eliminar la barra de título de la aplicación android
  • ¿Están las opiniones "GONE" infladas?
  • Cómo saber a callee se contesta la llamada (¿Cuál es el estado del teléfono cuando levanta la llamada)
  • a

    "corto y"

    . Pero quiero tener algo. me gusta

    "Corto y muy lon …"

    En este momento trunco ​​la cadena en código Java. Sin embargo, eso se basa en el número de caracteres y no en la longitud real del enlace. Por lo tanto, el resultado no es muy agradable.

    String title; if(model.getOrganization().length() > 19) { title = model.getText().substring(0, 15).trim() + "…"; } else { title = model.getText(); } ((TextView) findViewById(R.id.TextViewTitle)).setText(title); 

    Actualizar

    Apenas notado, esta característica agrega realmente "…" en algunos casos. Pero no en todos ellos:

    12345678901234567890 se convierte en "12345678901234 …"

    Sin embargo,

    "1234567890 1234567890" se convierte en "1234567890" y no en "1234567890 123 …"

    Actualización 2

    Ahora es realmente funky! Acabo de establecer singleLine = true y maxLine eliminado (El error aparece con y sin el atributo ellipsize de configuración) …

    texto alternativo

    Esta es una captura de pantalla de Motorola Milestone con Android 2.1 actualización 1. Lo mismo ocurre en HTC Desire con la misma versión de Android

    Actualización 3

    Ahora uso android: ellipsize = "marquee". Que parece ser el único entorno de trabajo adecuado. También es sólo móvil, cuando se enfoca. Lo veo en muchas otras aplicaciones también. Supongo que es una práctica común.

  • Portar aplicaciones java a la plataforma Android
  • RecyclerView Deslice con una vista inferior
  • ¿Cómo paso a la vista previa de Live Wallpaper desde la aplicación?
  • Cómo comprobar si las coordenadas de una ubicación caen a otra ubicación coordenadas de radio en android
  • Cómo utilizar DownloadManager en ArrayAdapter
  • Android: ¿cómo esperar AsyncTask para terminar en MainThread?
  • 4 Solutions collect form web for “Android: Algo mejor que android: ellipsize = "end" para agregar "…" a cadenas largas truncadas?”

    Si es para una sola línea, prueba esto:

     android:ellipsize="end" android:maxLines="1" android:scrollHorizontally="true" android:singleLine="true" 

    Funcionó para mí.

    Tuve un problema similar y establecer esta propiedad para el TextView ayudó:

     android:singleLine="true" 

    Además, estaba usando un RelativeLayout por lo que limitó el espacio que el TextView podía tomar al establecer un margen izquierdo a un botón a la derecha del TextView, de modo que el texto no se puede expandir más y se ve obligado a truncar su contenido.

    Tal vez no es la solución a su problema, pero me ayudó en una situación similar.

    Vea mi actualización 3. La solución estaba utilizando "marquee". He visto muchas aplicaciones haciendo eso en este momento. Ahora, con las nuevas versiones de Android esta característica es más probable que se fija y funcionará como se esperaba. (mi conjetura)

    Tal vez usted podría echar un vistazo a cómo la clase privada Ellipsizer utilizado por el sistema operativo funciona y modificarlo para su aplicación?

    Editar: Aquí está un enlace de trabajo – http://androidxref.com/5.1.0_r1/xref/frameworks/base/core/java/android/text/Layout.java#1830

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.