Android Textview ellipsize con varias filas
Estoy tratando de obtener un ellips al final de un textview que tiene varias líneas de texto. El "…" está mostrando pero su en el último espacio en el texto y es otro seguido por otros caracteres. ¿Cómo me aseguro de que el "…" esté siempre al final.
Ver ejemplo de imagen
- Crear visualizador de espectro de audio android app
- ViewPager en un NestedScrollView
- Android: tabStripEnabled = "false" no funciona
- ¿El tema no se aplica a las vistas agregadas mediante programación?
- Personalizar el relleno y el margen en IconPageIndicator
El archivo XML Layout es:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginRight="5dp" android:orientation="horizontal" > <TextView android:id="@+id/nfDateMonth" android:layout_width="64dp" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_marginRight="8dp" android:layout_marginTop="2dp" android:background="@drawable/topsegment" android:gravity="center" android:text="APR" android:textAllCaps="true" android:textColor="#f2e606" android:textSize="22sp" android:textStyle="bold" /> <TextView android:id="@+id/nfDateDate" android:layout_width="64dp" android:layout_height="wrap_content" android:layout_below="@+id/nfDateMonth" android:layout_marginBottom="10dp" android:layout_marginLeft="10dp" android:layout_marginRight="8dp" android:background="@drawable/bottomsegment" android:gravity="center" android:text="28" android:textSize="22sp" /> <TextView android:id="@+id/nfTitle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="2dp" android:layout_marginTop="0dp" android:layout_toRightOf="@+id/nfDateMonth" android:text="Half Marathon" android:textAppearance="?android:attr/textAppearanceMedium" android:textSize="16sp" /> <TextView android:id="@+id/nfContent" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/nfTitle" android:layout_gravity="left" android:layout_marginBottom="2dp" android:layout_marginRight="16dp" android:layout_marginTop="2dp" android:layout_toRightOf="@+id/nfDateDate" android:ellipsize="end" android:maxLines="2" android:text="Content\nline two line three sadsa dsd dsa dsd big big big sd sad sad sadsadsad asd sad as d asd as das das das das da sd asd asd one two three four five sixx seven" android:textAppearance="?android:attr/textAppearanceMedium" android:textSize="12sp" /> </RelativeLayout>
- ViewStub vs View.GONE vs Inflate vs ViewSwitcher
- Disposición de Android con vista a la derecha que ocupa un espacio preestablecido y visualiza en las escalas de la izquierda para llenar el resto de la pantalla hasta cierto límite
- Adición de un fondo de color con texto / icono debajo de la fila de swiped cuando se utiliza RecyclerView de Android
- Cómo configurar android: layout_weight y android: layout_width en el código?
- Deslizar para mostrar otro diseño oculto en la vista de reciclador android
- ¿Cómo obtenerContentHeight cuando se utiliza loadData?
- El segundo diseño no se muestra con la etiqueta de inclusión en el estudio de Android
- Cómo ocultar vistas parcialmente visibles en Android xml layout sin código?
Tuve el mismo problema hoy. Es probablemente un error en TextView o TextUtils (método ellipsize). En mi caso es causado por texto con nuevas líneas.
Hay dos soluciones:
- Obtener primera línea solamente:
String longText = "..."; String body = new Scanner(longText).nextLine(); textView.setText(body);
2. Eliminar todas las líneas nuevas en el texto
String longText = "..."; String body = longText.replace("\n", "").replace("\r", ""); textView.setText(body);