2016年5月9日 星期一

如何測量一個 TextView 每一行可以放下幾個文字

因為每個字的寬度都不一樣, 中文字與英文字的寬度也不一樣, 所以不是直接用計算就可以知道每行可以放下幾個字, 必須拿一段文字實際去測才行.

使用paint.breakText可以做到此一功能


TextPaint paint = textview.getPaint();

//preDisplay是一段字串,先大約估計長度, 要比一行的字數多(至少給個200字), 
//screenWidth是TextView的寬度
// 會傳回該段文字可以放下的字數, len為可放下的字數
int len=paint.breakText(preDisplay, true, screenWidth, null);

但是如果遇到換行符號, 它不會去管, 所以無法用來計算實際顯示在螢幕上的真正的字數



  © Blogger templates Psi by Ourblogtemplates.com 2008

Back to TOP