自动调整TextView的大小无法适应更新的文本

时间:2018-08-23 23:16:39

标签: android textview android-appcompat

我正在通过appcompat库使用Android自动调整TextView大小,如下所示:

<android.support.v7.widget.AppCompatTextView
    android:id="@+id/info"
    android:layout_width="100dp"
    android:layout_height="wrap_content"
    android:maxLines="1"
    app:autoSizeTextType="uniform"
    app:autoSizeMinTextSize="8sp"
    app:autoSizeMaxTextSize="14sp"
    app:autoSizeStepGranularity="0.5sp"
    android:text="@string/something" />

第一次设置文本时效果很好-例如,如果需要,可以缩小文本大小。

但是第二次设置时,如果内容足够小,文本大小不会再次增加。它保持较小的尺寸以适合先前的内容。

那么,在自动调整大小的TextView上调用setText的正确过程是什么,以便遵守自动调整大小的参数?还是有一种方法可以强制TextView重新评估其内容并调整文本大小?

在调用setText之前,我尝试将文本大小恢复为默认值,但这似乎没有效果。

1 个答案:

答案 0 :(得分:1)

通过复制代码,我遇到了相同的问题,唯一可行的解​​决方案是给TextView指定特定的高度,例如:android:layout_height="30dp"
发件人:https://developer.android.com/guide/topics/ui/look-and-feel/autosizing-textview#setting-textview-autosize

  

如果您在XML文件中设置了自动调整大小,则不建议使用   layout_width或layout_height属性的值“ wrap_content”   一个TextView。可能会产生意外的结果。