studio plain example español edittext and java android textview

java - plain - textview layout android



Android: TextView trunca y reemplaza automáticamente los últimos 3 caracteres de String (3)

Si un String es más largo que el TextView del TextView , automáticamente se ajusta a la siguiente línea. Puedo evitar esto usando android:singleLine (obsoleto) o estableciendo android:inputType="text" . Lo que necesito ahora es algo que reemplaza los últimos 3 caracteres de mi String con " ... ". Como no estoy usando una fuente monoespacial, esto siempre será diferente dependiendo de las letras usadas en mi String . Así que me pregunto cuál es la mejor manera de obtener los últimos 3 caracteres de un String en un TextView y reemplazarlos. Tal vez ya haya algo implementado en el marco de Android, ya que este debe ser un problema común.


Debería poder usar la propiedad "ellipsize" de una vista de texto:

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/text_mytext" android:ellipsize="end" android:maxLines="1" />

Es posible que también deba aplicar valores de gravedad al diseño; A veces he visto vistas de "estiramiento automático" sin ellas.


Encontré un trabajo-ronda interesante para este problema.

maxLines=1 ellipsize=end scrollHorizontally=true

El truco es esa última afirmación sobre el desplazamiento horizontal ... compruébalo. Al menos funciona en v2.2.


con programáticamente

Puedes usar

TextView tx = new TextView(this); tx.setTextSize(13); tx.setGravity(Gravity.CENTER); tx.setTop(90); tx.setText("Long text here"); tx.setTextColor(Color.BLACK); tx.setSingleLine(true); tx.setEllipsize(TruncateAt.END);