private void drawText(Canvas canvas, int x, int y, int width, int height){
Paint.FontMetrics fontMetrics = paintText.getFontMetrics();
canvas.drawText("TESThf我y", x, y, paintText);
int line1 = y;
int line2 = (int) (line1 + fontMetrics.top);
int line3 = (int) (line1 + fontMetrics.ascent);
int line4 = (int) (line1 + fontMetrics.descent);
int line5 = (int) (line1 + fontMetrics.leading);
int line6 = (int) (line1 + fontMetrics.bottom);
// line2 top = y + top
canvas.drawLine(0, line2, width, line2, linePaint);
canvas.drawLine(20, line2, 20 + 100, line2 - 100, linePaint);
canvas.drawText("top:" + fontMetrics.top, 100 + 20, line2 - 100, linePaint);
// line3 ascent = y + ascent 上升
canvas.drawLine(0, line3, width, line3, linePaint);
canvas.drawLine(40, line3, 40 + 100, line3 - 100, linePaint);
canvas.drawText("ascent:" + fontMetrics.ascent, 100 + 40, line3 - 100, linePaint);
// line1 base = y
canvas.drawLine(0, line1, width, line1, linePaint);
canvas.drawLine(60, line1, 60 + 100, line1 + 100, linePaint);
canvas.drawText("Base", 60 + 100, line1 + 100, linePaint);
// line4 descent = y + descent 下降
canvas.drawLine(0, line4, width, line4, linePaint);
canvas.drawLine(0, line4, 100, line4 + 100, linePaint);
canvas.drawText("descent:" + fontMetrics.descent, 100, line4 + 100, linePaint);
// line5 leading = y + leading 行距
canvas.drawLine(0, line5, width, line5, linePaint);
canvas.drawLine(200, line5, 200 + 100, line5 + 100, linePaint);
canvas.drawText("leading:" + fontMetrics.leading, 200 + 100, line5 + 100, linePaint);
// line6 bottom = y + bottom
canvas.drawLine(0, line6, width, line6, linePaint);
canvas.drawLine(400, line6, 400 + 100, line6 + 100, linePaint);
canvas.drawText("bottom:" + fontMetrics.bottom, 400 + 100, line6 + 100, linePaint);
}