Elipsize nie działa poprawnie dla wielowierszowego TextView z dowolną maksymalną wysokością
mamTextView
z nieznaną maksymalną wysokością, która zależy od rozdzielczości DPI / ekranu urządzenia. Tak więc na przykład na urządzeniu i MDPI ta maksymalna wysokość umożliwia wyświetlanie tylko 2 linii na raz, wartość, którą można zwiększyć do nieokreślonej liczby.
Mój problem związany jest z funkcjonalnością elipsy. Załóżmy, że pewne urządzenie umożliwia wyświetlenie 4 linii. Jeśli ręcznie ustawię maksymalną liczbę linii, jak ta ...
<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" />
... wszystko działa OK. Jeśli tekst nie pasuje prawidłowo, to elipsy są dodawane na końcu czwartej linii, tak jak poniżej:
This is some
really really
really really
really long...
Ale wolałbymnie ustaw liczbę linii jako zmienną statyczną, ponieważ wolałbym włączyć obsługę dowolnej kombinacji rozdzielczości DPI / ekranu. Więc jeśli usunęmaxLines
elipsa nie jest już poprawnie wyświetlana w czwartej linii, pokazując zamiast tego niekompletną część tekstu:
This is some
really really
really really
really long
Jeśli nieznacznie zwiększęTextView
rozmiar, widzę, że reszta tekstu jest nadal rysowana „za” drugimViews
. Ustawianie zmiennejmaxHeight
też nie działa.
Naprawdę nie mogę znaleźć rozwiązania tego problemu. Jakieś pomysły? Jeśli to pomoże, pracuję tylko z Androidem v4.0.3 i nowszym (poziom API 15).