前言:从Android8.0开始TextView支持自动调节字体大小,使其缩放至填满TextView,由于api26才开始支持该特性,我们采用com.android.support:appcompat-v7:26.0.0及以上的支持包即可支持api14以上。(即如下采用app:autoSizeTextType而非android:autoSizeTextType)
1、自动缩放(当文字少时放大,文字多时缩小至填满水平或垂直方向)
<TextView
android:layout_width="100dp"
android:layout_height="80dp"
android:text="这是测试"
app:autoSizeTextType="uniform"/>
2、缩放范围(设置最大、最小字体和缩放颗粒)
<TextView
android:layout_width="100dp"
android:layout_height="80dp"
android:text="这是测试"
android:autoSizeMinTextSize="4sp"
android:autoSizeMaxTextSize="30sp"
android:autoSizeStepGranularity="2sp"
app:autoSizeTextType="uniform"/>
3、预设大小
(1)在目录res/values/arrays.xml中添加
<resources>
<array name="auto_text_size">
<item>10sp</item>
<item>15sp</item>
<item>20sp</item>
<item>25sp</item>
<item>30sp</item>
<item>35sp</item>
<item>40sp</item>
</array>
</resources>
(2)使用预设字体集合
<TextView
android:layout_width="100dp"
android:layout_height="80dp"
android:text="这是测试"
app:autoSizePresetSizes="@array/auto_text_size"
app:autoSizeTextType="uniform"/>
|