作者afz096 (我被淡水的路宠坏了)
看板AndroidDev
标题Re: [问题] 如何知道textview每行可写几个字和最多 …
时间Sat Apr 9 10:54:06 2011
※ 引述《sdyy (中坜市的小智)》之铭言:
: 因为想要动态改变字体大小,但又怕超出范围
: 导致layout乱掉,所以想要知道有没有办法知道每行字数
: 跟一个页面下能有几行
: 字体大小会用setTextSize改变,可选定依照pixel来变
: 但因为layout范围并不是直接就跟萤幕大小一样
: 所以会有误差,而字加上下空白的高度就更不知道了
: 中间插的空白比例好像不太固定...
: 导致有时都爆出页面,有时又太过小
简单的方法:
TextView 可以利用 setMaxLines() 来设定最多的行数,
也可用利用 setEllipsize() 来设定当给定的文字多於显示范
围,要如何显示。
复杂的方法:
Paint 可以先用 setTextSize(),给定字体大小,
然後利用 measuerText(),来计算这串文字到底多长。
而实际每个文字的宽度,可以利用 getTextWidths() 取得。
这麽麻烦的原因在於有的英文字型并不是每个字等宽,
像是 I 和 M 的宽度就有明显的差别,所以需要个别计算。
字上下空白的话应该会是和 TextView.setLineSpacing()有关。
--
hope it's helpful:)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.45.244.250
1F:推 sdyy:感谢啦 04/09 12:26