android textview ellipsis nexus-5

Cómo solucionar texto que se desborda TextView con relleno android: ellipsize="marquee"



ellipsis nexus-5 (1)

En algunos dispositivos Android (LG Google Nexus 5 con Android L y M), una vista de texto con Android: ellipsize = "marquee" y relleno da como resultado el texto que desborda la vista de texto. Sin embargo, ocurre en el lado derecho pero no en el lado izquierdo del TextView, mientras que el relleno se aplica tanto en el lado izquierdo como en el derecho.

No ocurre en Samsung Galaxy S3 y S6 con Android K y L, respectivamente.

<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="1dp" android:paddingTop="2dp" android:paddingBottom="2dp" android:paddingLeft="4dp" android:paddingRight="4dp" android:singleLine="true" android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever" android:scrollHorizontally="true" android:freezesText="true" android:alpha="0.85" android:background="@color/by433_gray_darker" android:textColor="@color/white" android:textSize="11sp" />

¿Qué puedo hacer para solucionarlo o solucionarlo?


Su problema es un error de Android y ya se informó y asignó en el Proyecto de código abierto de Android:

Su solución alternativa puede verse así:

<FrameLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingTop="2dp" android:paddingBottom="2dp" android:paddingLeft="4dp" android:paddingRight="4dp" android:layout_marginBottom="1dp" android:background="@color/by433_gray_darker"> <TextView android:id="@+id/textId" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever" android:scrollHorizontally="true" android:freezesText="false" android:alpha="0.85" android:text="super nice text text text text text text text text text text text text text text text text text" android:textColor="@color/white" android:textSize="11sp" /> </FrameLayout>

Entonces, la idea es tener un contenedor envoltorio con almohadillas, márgenes y fondo. (No debería ser gran parte de la sobrecarga de rendimiento, si solo tiene un par de vistas)

Respuesta incorrecta original (aunque hubo dos TextViews) El problema podría deberse a la combinación de tantos atributos en su TextView. Aquí hay algunas sugerencias:

  1. Primero intente eliminar el atributo uno por uno verificando el resultado
  2. Puede intentar especificar rellenos en su contenedor en lugar de vistas de texto
  3. Desde su diseño, parece que puede probar algo como esto en lugar de "match_parent" en sus vistas de texto:

    <LinearLayout android:orientation="horizontal" ...> <TextView android:layout_width="0dp" android:layout_weight="1" ... /> <TextView android:layout_width="0dp" android:layout_weight="1" ... /> </LinearLayout>