如何计算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替代了?
多谢各位!