AppCompatTextView相比较于TextView最大的特点就是可以做到文案宽度自适应。
1、设置autoSizeTextType属性为uniform
android:autoSizeTextType="uniform"
2、设置自适应字体的最大值和最小值
android:autoSizeMaxTextSize="18dp"
android:autoSizeMinTextSize="12dp"
当文本长度过长时:
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="50dp"
android:autoSizeTextType="uniform"
android:autoSizeMaxTextSize="18dp"
android:autoSizeMinTextSize="12dp"
android:maxLines="1"
android:text="我是自适应宽度字体我是自适应宽度字体我是自适应宽度字体我是自适应宽度字体"
android:textSize="18dp"/>
UI效果:
当文本宽度比较短时:
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="50dp"
android:autoSizeTextType="uniform"
android:autoSizeMaxTextSize="18dp"
android:autoSizeMinTextSize="12dp"
android:maxLines="1"
android:text="我是自适应宽度字体我是自适应宽度字体"
android:textSize="18dp"/>
UI效果: