AbTextView.java 文件源码

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

项目:androidsummary 作者:
/**
 * 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();
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号