首页 > 代码库 > Canvas drawText实现中英文居中

Canvas drawText实现中英文居中

@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);    }

 

Canvas drawText实现中英文居中