如何管理 android 文字大小?

How to manage android text size?

以这个文本视图片段为例:

<TextView
        android:id="@+id/tvTotal"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:gravity="center"
        android:maxLines="3"
        android:padding="10dp"
        android:scrollbars="vertical"
        android:textColor="#FFFFFF"
        android:textSize="30sp"
        android:textStyle="bold"
        app:autoSizeMaxTextSize="100sp"
        app:autoSizeMinTextSize="12sp"
        app:autoSizeStepGranularity="2sp"
        app:autoSizeTextType="uniform"
        app:fontFamily="sans-serif"
        app:lineHeight="60dp"
        android:lineSpacingMultiplier="2.5"
        android:lineSpacingExtra="6dp" />

我已经设置好 android:textSize="30sp"app:autoSizeMaxTextSize="100sp"app:autoSizeMinTextSize="12sp"。每当我更改 android:textSize 时,它似乎对我的 phone 没有影响。为什么是这样?还有,设置了android:lineSpacingMultiplierandroid:lineSpacingExtra后,app:lineHeight有什么影响吗?这些属性到底有什么作用?

如果您删除 app:autoSizeTextType="uniform",到时候您的代码就可以工作了。 因为当你用app:autoSizeTextType="uniform"的时候,那个时候android:textSize="30sp"就不行了。

区别在于 android:lineSpacingExtra 在 TextView 的文本行之间添加额外的间距,并且 android:lineSpacingMultiplier 作为行高的比例因子 space。换句话说,每个行高将是 height*multiplier + extra