安卓textview上中英显示宽度测试。

只是篇测试记录,并非深度研究分析。

1. 做一个需要需要以补空格方式居中文字,分拆textiew也可以,但是基于原有项目上修改非常,

项目需求总体来说是 开始(居中文字)结束,居中文字需要8个中文长度,不够时补空格。

2. 所以有了一个测试(仅测试结果)。当textsize为45 时,中文的宽度为45。但是英文和数字并非想的那样,不同的英文不一样,大概25-28都有,一个中文大概4.5个空格。所以估计是textview做了不同字符的宽度优化看,而不是一个中文两个英文。

3.最后用的是ScaleXSpan把2000个全角空格宽度缩小textsize倍,变成2000个像素点,然后再补。涉及到SpannableString。即常见的settext(CharSequence text)CharSequence 的子类,此子类非常的多。有空可以学习一下。

4.注实测安卓4.2当textsize是45,实际中文与安卓5.0不一致,显示一个中文54。

5.测试方法:TextView.getpaint.measureText(),但是此方法不适合测试SpannableString。所以可以使用getwidth。

getwidth需要等窗口渲染结束,即不能在oncreate中紧接着使用。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值