Ellipsengröße funktioniert bei einer mehrzeiligen Textansicht mit einer beliebigen maximalen Höhe nicht ordnungsgemäß
Ich habe einTextView
mit einer unbekannten maximalen Höhe, die von der DPI / Bildschirmauflösung des Geräts abhängt. So können beispielsweise auf einem MDPI-Gerät mit dieser maximalen Höhe nur zwei Zeilen gleichzeitig angezeigt werden, ein Wert, der auf eine undefinierte Zahl erhöht werden kann.
Mein Problem hängt mit der Ellipsize-Funktionalität zusammen. Angenommen, ein bestimmtes Gerät ermöglicht die Anzeige von 4 Zeilen. Wenn ich die maximale Anzahl der Zeilen wie folgt manuell einstelle ...
<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" />
... alles funktioniert in Ordnung. Wenn der Text nicht richtig passt, werden die Auslassungspunkte wie folgt am Ende der vierten Zeile eingefügt:
This is some
really really
really really
really long...
Aber ich würde liebernicht Stellen Sie die Anzahl der Zeilen als statische Variable ein, da ich es vorziehen würde, eine beliebige Kombination von DPI / Bildschirmauflösung zu unterstützen. Also wenn ich entfernemaxLines
Die Auslassungspunkte werden in Zeile 4 nicht mehr korrekt angezeigt und zeigen stattdessen einen unvollständigen Teil des Texts:
This is some
really really
really really
really long
Wenn ich das etwas erhöheTextView
Größe kann ich sehen, dass der Rest des Textes immer noch "hinter" dem anderen gezeichnet wirdViews
. Variable setzenmaxHeight
scheint auch nicht zu funktionieren.
Ich kann wirklich keine Lösung für dieses Problem finden. Irgendwelche Ideen? Wenn es hilft, arbeite ich nur mit Android v4.0.3 und höher (API Level 15).