Android TextView自动调整字体大小(官方)

Posted 三杯五岳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android TextView自动调整字体大小(官方)相关的知识,希望对你有一定的参考价值。

官方在 android 8.0(API26)给TextView,新增字体大小随着控件的大小变化的特性。

如果使用 appcompat 兼容库,可以向下支持到Android 4.0(AP14)。

1、自动缩放(当字少时放大,字多时缩小)

<TextView
        android:layout_width="500dp"
        android:layout_height="100dp"
        android:text="TextView自动调整字体大小"
        app:autoSizeTextType="uniform"/>

2、缩放范围(设置最大、最小和缩放粒度)

 <TextView
        android:layout_width="500dp"
        android:layout_height="100dp"
        android:text="TextView自动调整字体大小"
        android:autoSizeMinTextSize="10sp"
        android:autoSizeMaxTextSize="80sp"
        android:autoSizeStepGranularity="2sp"
        app:autoSizeTextType="uniform"/>

3、预设大小清单

(1)添加预设清单(res/values/attrs.xml )

<resources>
    <array name="auto_text_size">
        <item>10sp</item>
        <item>20sp</item>
        <item>30sp</item>
        <item>40sp</item>
        <item>50sp</item>
    </array>
</resources>

 (2)使用预设清单

<TextView
        android:layout_width="500dp"
        android:layout_height="100dp"
        android:text="TextView自动调整字体大小"
        app:autoSizePresetSizes="@array/auto_text_size"
        app:autoSizeTextType="uniform"/>

以上是关于Android TextView自动调整字体大小(官方)的主要内容,如果未能解决你的问题,请参考以下文章

Textview:调整字体大小以匹配父级[重复]

Android - 如何自动调整 TextView 的大小以适合固定高度的容器?

Android中TextView中的字体大小能设置吗

当系统范围的字体缩放时,Android TextView不会包装内容

TextView系列:给定宽度,根据内容长度,自动改变字体大小

自动调整 Textview Android