如何管理 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:lineSpacingMultiplier
和android:lineSpacingExtra
后,app:lineHeight
有什么影响吗?这些属性到底有什么作用?
如果您删除 app:autoSizeTextType="uniform"
,到时候您的代码就可以工作了。
因为当你用app:autoSizeTextType="uniform"
的时候,那个时候android:textSize="30sp"
就不行了。
区别在于 android:lineSpacingExtra
在 TextView 的文本行之间添加额外的间距,并且 android:lineSpacingMultiplier
作为行高的比例因子 space。换句话说,每个行高将是 height*multiplier + extra
以这个文本视图片段为例:
<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:lineSpacingMultiplier
和android:lineSpacingExtra
后,app:lineHeight
有什么影响吗?这些属性到底有什么作用?
如果您删除 app:autoSizeTextType="uniform"
,到时候您的代码就可以工作了。
因为当你用app:autoSizeTextType="uniform"
的时候,那个时候android:textSize="30sp"
就不行了。
区别在于 android:lineSpacingExtra
在 TextView 的文本行之间添加额外的间距,并且 android:lineSpacingMultiplier
作为行高的比例因子 space。换句话说,每个行高将是 height*multiplier + extra