Изменение размера TextView не уменьшает его высоту на Android 3.1 - PullRequest
2 голосов
/ 08 августа 2011

У меня есть TextView, размер которого можно динамически изменить (я использую setTextSize()).Он правильно расширяет и сжимает свои границы на Android 2.2.Но в Android 3.1, когда текст становится меньше, высота области не уменьшается.

Вот короткое видео , демонстрирующее это.

Макет простопростая вертикаль LinearLayout:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="0dip">
... 
<TextView 
    android:id="@+id/track_number" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    style="@style/tcTrackNo" 
    android:padding="5dp" />
    ...


<style name="tcTrackNo" parent="@android:style/TextAppearance.Small">
    <item name="android:textColor">@color/track_number</item>
</style>

Итак, что еще нужно сделать, чтобы TextView уменьшил свою высоту в соответствии с размером шрифта в Honeycomb?

PS.Опять же, в Android 2.2 текстовая область сворачивается до минимальной высоты без каких-либо проблем. Видео, как оно должно работать .

Ответы [ 2 ]

1 голос
/ 26 декабря 2012

Может быть немного поздно, это из-за ошибки

http://code.google.com/p/android/issues/detail?id=17343

http://code.google.com/p/android/issues/detail?id=22493

Но есть обходной путь, добавляя неширинный символ в конце вашего текста.

Любая из этих работ

final String DOUBLE_BYTE_SPACE = "\u3000";
final String DOUBLE_BYTE_WORDJOINER = "\u2060";
final String ZERO_WIDTH_SPACE = "\u200b";
textview.append(ZERO_WIDTH_SPACE);              
0 голосов
/ 19 декабря 2015

я знаю, что это старая тема.

, но все перечисленные выше символы не работали со мной должным образом, я столкнулся с этой проблемой в 5.0.1, и исправление было установить гравитацию textview по центру вертикали.

надеюсь, это поможет кому-нибудь:)

...