1.背景及原因分析:
之前我们自定义的ImageSpan,居中的算法是这样:
这个计算方法使用bottom这一参数为基准,进行居中计算。如果一个textview设置了行距,在android5及以上的操作系统,textview在单行和多行是这个bottom值是不一样的(单行文本无行距)。导致居中的显示有误。
2.解决办法:
须要找到一个合理的基准,我以y这个参数为基准。从源码上观察,y即字体排印学中的基线(wiki地址,可能被墙)。
则新的计算方法为:
时间: 2024-10-11 04:45:48