0
<TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:gravity="start"
      android:lines="1"
      android:maxLines="1"
      app:autoSizeMinTextSize="20sp"
      app:autoSizeMaxTextSize="28sp"
      app:autoSizeTextType="uniform"
      app:layout_constrainedWidth="true" />

假设TextView在调整文本大小并将文本设置为例如 XXXXXXXXXXXXXXXXXXXXXX 后,文本大小设置为最小 (20sp)。

然后,我想设置一个新文本,它是 XXX,我希望TextView恢复它的 MaxTextSize。但是,TextView由于wrap_content.

是否可以使其无效或重置TextView为其初始状态以确定应应用的文本大小?

注意:它的宽度是必需的,TextViewwrap_content知道文档指出,wrap_content自动调整大小有时会导致意外行为。

4

1 回答 1

0

我想出的一个好方法是给予minHeightminWidth给予,TextView这样它就可以正确地计算出它的尺寸,并且符合预期。

<TextView
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:minHeight="46dp"
  android:minWidth="120dp"
  android:gravity="center_vertical"
  android:lines="1"
  android:maxLines="1"
  app:autoSizeMinTextSize="20sp"
  app:autoSizeMaxTextSize="28sp"
  app:autoSizeTextType="uniform"
  app:layout_constrainedWidth="true" />

然而,最好的答案在这里找到。自动缩放 TextView 文本以适应边界

于 2021-09-30T10:01:14.847 回答