自定义view的时候总是发现文字居中有一些问题,
绘制时候文字绘制高度:y = height/2-textHeight/2,始终无法让文字居中,这里给出解决办法。
如上图,android在绘制文字的时候,会基于baseline来进行绘制
在我的上一篇博文高德地图-Android自定义气泡中,
字体设置为30,打印出
top = -32
ascent = -28
leading = baseline = 0
descent = 7
bottom = 9
根据这五个属性,在将高度移动到 控件高度/2之后,再往上提高文字高度的一半
这里我使用的是ascent和descent的一半
即:y = height/2 - (descent - ascent)/2
这样就将文字居中了,当然也可以根据bottom和top来平移,因为数值很小,因此看上去也是完全居中的,各人可以自己发挥
网友评论