Android TextView自动缩放能够完整显示出一行

发布时间 2023-11-20 10:46:38作者: Stars-one

原文地址: Android TextView自动缩放能够完整显示出一行 - Stars-One的杂货小窝

app开发中,需要TextView可以在不同的屏幕大小要完整显示出文字,而不是显示省略号

可以使用以下代码,让TextView字体实现自适应(不过具体算法已经实现了,我们只需要设置下即可实现效果)

//设置最大行数为1行(在xml中设置也可)
tvPhotoRecovery.maxLines = 1
TextViewCompat.setAutoSizeTextTypeWithDefaults(tvPhotoRecovery, TextViewCompat.AUTO_SIZE_TEXT_TYPE_UNIFORM)
//设置字体大小范围为12sp-22sp
TextViewCompat.setAutoSizeTextTypeUniformWithConfiguration(tvPhotoRecovery, 12, 22, 1, TypedValue.COMPLEX_UNIT_SP)

setAutoSizeTextTypeUniformWithConfiguration方法的4个参数说明:

setAutoSizeTextTypeUniformWithConfiguration(
	TextView textView,
	int autoSizeMinTextSize, //字体最小数值
	int autoSizeMaxTextSize, //字体最大数值
	int autoSizeStepGranularity,//自动适应的步长(简单理解就是在最小和最大范围之间,从最小数值递增步长[n]来计算最符合的字体大小)
	int unit //字体单位,sp就可以
)