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就可以
)
评论区