画不多说先来个效果图
红色圆形就是一个自定义的view 中间的文字也是上下居中的效果
//获取paint中的字体信息 settextSize要在他前面
FontMetrics fontMetrics = paint.getFontMetrics();
// 计算文字高度
float fontHeight = fontMetrics.bottom - fontMetrics.top;
// 计算文字高度baseline
float textBaseY = getHeight() - (getHeight() - fontHeight) / 2
- fontMetrics.bottom;
String string = "开始秒赞";
//获取字体的长度
float fontWidth = paint.measureText(string);
//计算文字长度的baseline
float textBaseX = (width - fontWidth) / 2;
canvas.drawText(string, textBaseX, textBaseY, paint);
妥了!