Есть у меня такой TextView:
[TextView
android:id="@+id/news_item_text"
style="@style/text_plain_embossed"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:ellipsize="end"
android:maxLines="4"
android:text="Здесь текст новости, который может быть очень очень очень длинным и не помещаться на одну строку. Шла Маша по шоссе и сосала сушку. Чем дальше в лес, тем толще партизаны. Странный аттрактор не имеет выхода."/]
Всё, что я от него хочу, это:
[TextView
android:id="@+id/news_item_text"
style="@style/text_plain_embossed"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:ellipsize="end"
android:maxLines="4"
android:text="Здесь текст новости, который может быть очень очень очень длинным и не помещаться на одну строку. Шла Маша по шоссе и сосала сушку. Чем дальше в лес, тем толще партизаны. Странный аттрактор не имеет выхода."/]
Всё, что я от него хочу, это:
- чтобы длинный текст отображался бы в 4 строки (android:maxLines="4" )
- чтобы в конце текста, если он не помещается целиком, добавлялось бы многоточие ( android:ellipsize="end")
И вот тут начинается самое интересное. В разных версиях (я тут вначале опечатался и набрал слово "весрия", но иногда хочется именно так и оставить) Андроида результат отображения этого представления получается весьма разный. Изображения сняты из эмулятора, но на устройствах они получаются такими же (проверялось на HTC Desire (2.3), Samsung Galaxy Tab 7.7 (3.2) и на Samsung Galaxy S II (4.0)).
Android 2.2
Android 3.2
Android 4.0
Видно, что:
Android 2.2 - количество строк - плохо, многоточие - хорошо.
Android 3.2 - количество строк - хорошо, многоточие - плохо
Android 4.0 - количество строк - хорошо, многоточие - хорошо.
При этом, в если убрать android:ellipsize="end", то в 2.2 получается вот так:
Android 2.2, без ellipsize
И как с этим бороться?!
1 комментарий:
Решение на Stackoverflow.com
Отправить комментарий