如何计算TextView中能显示的最大字符数目?

秃头披风侠 2014-04-08 12:23:48
经过研究之后,更新下问题描述:

分辨率为720*1280,屏幕密度为2.0,设置单倍行距为20sp,字体大小也是20sp,默认多倍行距是1.0。 我是这样计算字符数目的:
每行字符(即列数):720 / 2.0 / 20, 即横向分辨率 / 屏幕密度 / 字体大小 = 18
每列字符(即行数):1280 / 2.0 / (20 * 2), 因为行间距也是20sp (20sp * 1.0, 单倍行距 * 多倍行距),结果 = 16

但是实际结果是,行数为29,少了大概120左右的像素。
当把多倍行间距设置为0时,结果却是正确的,即计算结果和显示一致。

是不是我多倍行间距和单倍行间距的算法不对呢?
请给位指点下,多谢了!

----------------------------------------
比如手机的分辨率是720*1280, 但是屏幕的底部有三个虚拟按键/硬按键(就是“返回”,“主页”,“列表”这三个)。因为这三个按键占用了分辨率,使用getMetric或者getRealSize都不能正确取得分辨率,每次拿到的都是720*1280, 但是实际的分辨率比这个要小。还有其他的函数或者方法能够取得真实的分辨率吗?
另外Display.getWidth和DisplaygetHeight这两个函数已经弃用了吗(我在eclipse中发现这两个函数被划掉了),是不是只能用getMetric替代了?
多谢各位!
...全文
360 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
秃头披风侠 2014-04-09
  • 打赏
  • 举报
回复
自己发现问题了,留个备案 http://blog.csdn.net/whitebird99/article/details/23210861
秃头披风侠 2014-04-08
  • 打赏
  • 举报
回复
自己顶一下吧,请各位指点一下,多谢了

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧