我正在通过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
之前,我尝试将文本大小恢复为默认值,但这似乎没有效果。
答案 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。可能会产生意外的结果。