Android(安卓)文字居中方法
16lz
2021-01-26
在宽width高height的画布上画一字符串,使字符串水平竖直居中:
水平居中很简单,paint.setTextAlign(Align.CENTER);然后drawText的x坐标设置为width / 2即可,竖直居中稍显麻烦,可以使用FontMetrics对象计算文字高度,然后计算baseline,使文字垂直居中,代码如下:
Paint paint = new Paint();
paint.setColor(Color.BLUE);
paint.setTextSize(18);
paint.setTextAlign(Align.CENTER);
FontMetrics fontMetrics = paint.getFontMetrics();
// 计算文字高度
float fontHeight = fontMetrics.bottom - fontMetrics.top;
// 计算文字baseline
float textBaseY = height - (height - fontHeight) / 2 - fontMetrics.bottom;
canvas.drawText(text, width / 2, textBaseY, paint);
水平居中很简单,paint.setTextAlign(Align.CENTER);然后drawText的x坐标设置为width / 2即可,竖直居中稍显麻烦,可以使用FontMetrics对象计算文字高度,然后计算baseline,使文字垂直居中,代码如下:
Paint paint = new Paint();
paint.setColor(Color.BLUE);
paint.setTextSize(18);
paint.setTextAlign(Align.CENTER);
FontMetrics fontMetrics = paint.getFontMetrics();
// 计算文字高度
float fontHeight = fontMetrics.bottom - fontMetrics.top;
// 计算文字baseline
float textBaseY = height - (height - fontHeight) / 2 - fontMetrics.bottom;
canvas.drawText(text, width / 2, textBaseY, paint);
更多相关文章
- 我的Android进阶之旅------>Android颜色值(#AARRGGBB)透明度百分比
- Android(安卓)计算执行时间间隔请使用SystemClock.elapsedRealti
- Android在绘制View之前计算其高度 / 宽度
- 小白用网格布局实现简单的计算器 ——Android
- Android-TextView用drawableLeft时,改变文字和图片间的距离
- android系统修改状态栏背景色以及文字颜色
- 我的第一个Android程序,BMI计算器,分享一下源码
- Android组件 文字标签(TextView)
- Android简单的加法计算器