侧边栏壁纸
博主头像
Stars-one博主等级

所有的创作都是具有价值的
Android Kotlin Java开发者,喜欢折腾搞机,开发小工具

  • 累计撰写 227 篇文章
  • 累计创建 45 个标签
  • 累计收到 28 条评论

目 录CONTENT

文章目录

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

Stars-one
2023-11-20 / 0 评论 / 0 点赞 / 28 阅读 / 209 字

本文为作者原创,允许转载,不过请在文章开头明显处注明链接和出处!!! 谢谢配合~
作者:stars-one
链接:https://stars-one.site/2023/11/20/android-textview-autosize

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就可以
)
0

评论区