@Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); Paint mTextPaint = new Paint(Paint.ANTI_ALIAS_FLAG); // Measure a text Rect textBounds = new Rect(); mTextPaint.getTextBounds(String.valueOf(mLetter), 0, 1, textBounds); float textWidth = mTextPaint.measureText(String.valueOf(mLetter)); float textHeight = textBounds.height(); FontMetrics fontMetrics = mTextPaint.getFontMetrics(); // 计算文字高度 float fontHeight = fontMetrics.bottom - fontMetrics.top; // 计算文字baseline float textBaseY = getHeight() - (getHeight() - fontHeight) / 2 - fontMetrics.bottom; // Draw the text canvas.drawText(String.valueOf(mLetter), getWidth() / 2f - textWidth / 2f, textBaseY, mTextPaint); }
时间: 2024-10-14 01:11:37