AppCompatTextView是TextView的增强,AppCompatTextView最显著的特点是可以自适应字体宽度大小变化。这个特点很有用,有些开发场景下,UI设计限定了一个文本的宽度,但是文本的长度可能比较长,如果设定一个固定的textSize,就导致一部分文本无法显示。而AppCompatTextView就是为此而生,设定三个参数就可以让文本随着文本宽度的变化,限定在一个固定范围内完整显示出来:
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="60dp"
android:layout_height="wrap_content"
app:autoSizeMaxTextSize="18dp"
app:autoSizeMinTextSize="10dp"
app:autoSizeTextType="uniform"
android:maxLines="1"
android:text="回来就开始了"
android:textSize="18dp" />
- app:autoSizeTextType=“uniform” ,即可自适应宽度。
- app:autoSizeMinTextSize=“8dp”,约束虽然可以自适应调整字体大小,但最小不能小于8dp。
- app:autoSizeMaxTextSize=“18dp”,限定字体大小自适应调整变化时候,最大不能超过的数值。
在没有AppCompatTextView时候,常常使用github上的一个开源项目:
me.grantland.widget.AutofitTextView
然而,AutofitTextView也很久没有维护了。何况现在有了Android官方提供的支持,建议开发者以后可以使用AppCompatTextView用以支持字体的自适应大小变化。
而且AutofitTextView在以前我们的项目中,还引起了很大的卡顿问题,尤其是华为手机的Android10版本.