/**
* Draw text.
*
* @param canvas the canvas
* @param text the text
* @param maxWPix the max w pix
* @param paint the paint
* @return the int
*/
public int drawText(Canvas canvas, String text, int maxWPix,
TextPaint paint) {
if (TextUtils.isEmpty(text)) {
return 1;
}
// 需要根据文字长度控制换行
// 测量文字的长度
List<String> mStrList = getDrawRowStr(text, maxWPix, paint);
FontMetrics fm = paint.getFontMetrics();
int hSize = (int)Math.ceil(fm.descent - fm.ascent);
for (int i = 0; i < mStrList.size(); i++) {
// 计算坐标
float x = leftPadding;
float y = topPadding+hSize/2+i*(hSize+lineSpacing)+bottomPadding;
String textLine = mStrList.get(i);
if(i < maxLines){
canvas.drawText(textLine, x, y, paint);
}
}
return mStrList.size();
}
AbTextView.java 文件源码
java
阅读 26
收藏 0
点赞 0
评论 0
项目:androidsummary
作者:
评论列表
文章目录