Android Canvas drawText实现中文垂直居中

【Android Canvas drawText实现中文垂直居中】曾无好事来相访,赖尔高文一起予。这篇文章主要讲述Android Canvas drawText实现中文垂直居中相关的知识,希望能为你提供帮助。
public  void  onDraw  (Canvas  canvas)  {
    Rect  targetRect  =  new  Rect(50,  50,  1000,  200);
    Paint  paint  =  new  Paint(Paint.ANTI_ALIAS_FLAG);  
    paint.setStrokeWidth(3);  
    paint.setTextSize(80);
    String  testString  =  "Text:中文asdfghjkl";
    paint.setColor(Color.CYAN);  
    canvas.drawRect(targetRect,  paint);
    paint.setColor(Color.RED);
    FontMetricsInt  fontMetrics  =  paint.getFontMetricsInt();
    int  baseline  =  targetRect.top  +  (targetRect.bottom  -  targetRect.top  -  fontMetrics.bottom  +  fontMetrics.top)  /  2  -  fontMetrics.top;
    //  以下这行是实现水平居中。drawText相应改为传入targetRect.centerX()      paint.setTextAlign(Paint.Align.CENTER);  
    canvas.drawText(testString,  targetRect.centerX(),  baseline,  paint);  
}













    推荐阅读