AbGraphical.java 文件源码

java
阅读 28 收藏 0 点赞 0 评论 0

项目:EntboostIM 作者:
/**
 * 描述:绘制文本,支持换行.
 *
 * @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();
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号