android文本框输入默认文字居中,AndroiddrawText做到文字绝对居中(示例代码)

更新时间:2023-04-27 10:17:10 阅读: 评论:0


2023年4月27日发(作者:金木水火土命)

android⽂本框输⼊默认⽂字居中,AndroiddrawText做到⽂字绝

对居中(⽰例代码)

我们在android中经常会遇到⾃定义⼀些组件,因为现有的android组件是往往不能满⾜当下的需求的,今天就给⼤家介绍⼀下在⾃定义组

建过程中⽤到的drawText不居中的问题的解决⽅案

⾸先⼤家看⼀下这种图:两袖清风的故事

这就是⼀个⽂字完整的区域划分图,标⽰着完整的android在drawText的时候的书写规则,那这些区域分别都是代表什么意思呢?

1. 基准点是baline

2. Ascent是baline之上⾄字符最⾼处的距离

3. Descent是baline之下⾄字符最低处的距离

4. Leading⽂档说的很含糊,其实是上⼀⾏字符的descent到下⼀⾏的ascent之间的距离

5. Top指的是指的是最⾼字符到baline的值,即ascent的最⼤值

6. 同上,bottom指的是最下字符到baline的值,即descent的最⼤绿豆解药性吗 值

其中Baline是我们在调其翼若垂天之云 ⽤drawText的时候⼀个参数,⼜是在drawText的时候的⼀个基准线和参考线,下⾯是drawText的时候需要传的

参数,根据注释我们不难理解其字段分别代表的意思:

text:要写上去的⽂字

x:写的起始点x的坐标

y:baline的坐标

paint:画笔

下⾯来看下这幅图:

蓝⾊的横线指的是绘制Text的⽬标矩形的中点:Y() = ( + )/2

textCenter30的英语怎么说 VerticalBalineY 就是绘制⽂本时候的y坐标,Y()是控件⼀半的⾼度。其实这个换算关系也不难理

解,Y()-t的意思是将整个⽂字区域抬⾼到控件的1/2,然后我们再加上(t - ) / 2的意

思就是将⽂本下沉⽂本descent到ascent长度的⼀半,从⽽实现⽂本垂直居中的⽬的。,才 不难看出计算公式应该为:

textCenterVerticalBalineY =巴戟 Y() + (t - ) / 2- t ;

希望能够对⼤家有所帮助


本文发布于:2023-04-27 10:17:10,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/850714.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:居中代码
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图