Ellipsize no funciona correctamente para un TextView multilínea con una altura máxima arbitraria

tengo unTextView con una altura máxima desconocida, que depende de la resolución de pantalla / DPI del dispositivo. Así, por ejemplo, en un dispositivo MDPI, esta altura máxima hace posible mostrar solo 2 líneas a la vez, un valor que se puede aumentar hasta un número no definido.

Mi problema está relacionado con la funcionalidad ellipsize. Supongamos que un determinado dispositivo permite visualizar 4 líneas. Si configuro manualmente el número máximo de líneas, así ...

<TextView
    android:id="@+id/some_id"
    android:layout_width="fill_parent"
    android:layout_height="0dip"
    android:ellipsize="end" 
    android:maxLines="4"
    android:singleLine="false"
    android:layout_weight="1"
    android:gravity="center_vertical"
    android:text="This is some really really really really really long text"
    android:textSize="15sp" />

... todo funciona bien. Si el texto no se ajusta correctamente, entonces los puntos suspensivos se agregan al final de la cuarta línea, como esto:

This is some
really really
really really
really long...

Pero prefierono establezca el número de líneas como una variable estática, ya que preferiría incluir soporte para cualquier combinación de resolución de ppp / pantalla. Así que si me quitomaxLines los puntos suspensivos ya no se muestran correctamente en la línea cuatro, mostrando en cambio una parte incompleta del texto:

This is some
really really
really really
really long

Si levanto ligeramente laTextView tamaño, puedo ver que el resto del texto todavía se está dibujando "detrás" del otroViews. Configurando la variablemaxHeight Tampoco parece funcionar.

Realmente no puedo encontrar una solución para este problema. ¿Algunas ideas? Si ayuda, estoy trabajando solo con Android v4.0.3 y superior (nivel de API 15).

Respuestas a la pregunta(1)

Su respuesta a la pregunta