/**
* 描述:绘制文本,支持换行.
*
* @param canvas the canvas
* @param text the text
* @param maxWPix the max w pix
* @param paint the paint
* @param left the left
* @param top the top
* @return the int
*/
public static int drawText(Canvas canvas,String text,int maxWPix,TextPaint paint,int left,int top) {
if(AbStrUtil.isEmpty(text)){
return 1;
}
//需要根据文字长度控制换行
//测量文字的长度
List<String> mStrList = getDrawRowStr(text,maxWPix,paint);
FontMetrics fm = paint.getFontMetrics();
int hSize = (int)Math.ceil(fm.descent - fm.ascent)+2;
for(int i=0;i<mStrList.size();i++){
//计算坐标
int x = left;
int y = top+hSize/2+hSize*i;
String textLine = mStrList.get(i);
canvas.drawText(textLine,x,y, paint);
}
return mStrList.size();
}
AbGraphical.java 文件源码
java
阅读 28
收藏 0
点赞 0
评论 0
项目:EntboostIM
作者:
评论列表
文章目录