当用canvas.drawText()绘制字体到矩形上时,如何才能绘制到矩形的中间呢(垂直水平居中)?
刚开始,我是这么绘制的:
我们先绘制一个矩形,再在矩形上绘制一个字体,构造方法中的paint初始化代码块如下:
String mTitleText =“abckdjdlskp”;
private Paint mBound = new Rect();
private Paint mPaint = new Paint();
//此处我35px
mPaint.setTextSize(35);
//将35px大小的字体的left,top,right,bottom存入到mBound中
mPaint.getTextBounds(mTitleText, 0, mTitleText.length(), mBound);
此时mBound的值为Rect(2, -27,178, 7);
当时看到这就有点懵了,为什么是2不是0,为什么是-27不是0?为什么bottom又是+7呢?这就牵扯到如何将字体绘制到矩形中间了。刚开始我是这么绘制的,代码块如下:
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super