У меня есть TextView
с неизвестной максимальной высотой, которая зависит от разрешения устройства DPI/экрана. Так, например, на устройстве и в MDPI эта максимальная высота позволяет показывать только по 2 строки за раз, значение, которое может быть увеличено до номера undefined.
Моя проблема связана с функциональностью эллипсиса. Предположим, что определенное устройство позволяет отображать 4 строки. Если я вручную установил максимальное количество строк, например...
<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" />
... все работает нормально. Если текст не подходит должным образом, то в конце четвертой строки добавляется многоточие, например:
This is some
really really
really really
really long...
Но я бы предпочел не устанавливать количество строк как статическую переменную, так как я бы предпочел включить поддержку любой комбинации разрешения DPI/экрана. Поэтому, если я удаляю maxLines
, эллипс больше не отображается правильно в строке 4, показывая неполную часть текста:
This is some
really really
really really
really long
Если я немного увеличиваю размер TextView
, я вижу, что остальная часть текста по-прежнему рисуется "за" другим Views
. Установка переменной maxHeight
тоже не работает.
Я действительно не могу найти решение этой проблемы. Есть идеи? Если это помогает, я работаю только с Android v4.0.3 и выше (API-уровень 15).