androdi 原生绘制文本 换行 计算文本高度

65 阅读1分钟
private void drawTipText(Canvas canvas,String message,int topOffset){
    TextPaint textPaint = new TextPaint();
    textPaint.setColor(Color.parseColor("#ffffff"));
    textPaint.setTextSize(54);
    textPaint.setAntiAlias(true);
    /*绘制文字 设置文字规则*/
    StaticLayout layout = new StaticLayout(message, textPaint, canvas.getWidth(), Layout.Alignment.ALIGN_CENTER, 1.0F, 0.0F, true);
    // 这里的参数300,表示字符串的长度,当满300时,就会换行,也可以使用“\r\n”来实现换行
    canvas.save();
    canvas.translate(0,topOffset - layout.getHeight() -30);
    layout.draw(canvas);
    canvas.restore();//别忘
}