Android TextPaint 写文字 水平、垂直居中
来源:互联网 发布:java超市管理系统 编辑:程序博客网 时间:2024/04/30 23:55
1、水平居中的方法:
第一步:水平居中很简单,paint.setTextAlign(Align.CENTER);
第二步:drawText的x坐标设置为width / 2即可,
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);
示例代码如下:
textPaint.setColor(this.innerTextColor);
textPaint.setAntiAlias(true);
textPaint.setTextAlign(Align.CENTER);
textPaint.setTextSize(this.innerTextSize);
FontMetrics fontMetrics = textPaint.getFontMetrics();
// 计算文字高度
float fontHeight = fontMetrics.bottom - fontMetrics.top;
// 计算文字baseline
float textBaseY = bounds.height() - (bounds.height() - fontHeight) / 2 - fontMetrics.bottom;
canvas.drawText( this.innerText , bounds.width() / 2, textBaseY, textPaint);
- Android TextPaint 写文字 水平、垂直居中
- Android Canvas 文字水平垂直居中
- div文字水平垂直居中
- Android进阶(二十二)设置TextView文字水平垂直居中
- div 文字垂直居中 水平居中 div css 文字垂直居中 水平居中
- DIV中文字水平、垂直居中
- div中的文字垂直水平居中
- css如何让文字水平垂直居中
- div+css文字水平垂直居中
- div 中的文字水平居中和垂直居中
- 水平居中,垂直居中
- 水平居中垂直居中
- DIV 浏览器水平垂直居中及文字垂直水平居中问题
- Android笔记:Button居中|水平居中|垂直居中(总结)
- Android笔记:Button居中|水平居中|垂直居中(总结)
- Android笔记:Button居中|水平居中|垂直居中(总结)
- Android笔记:Button居中|水平居中|垂直居中(总结)
- button中的文字垂直居中与水平居右同时
- hibernate与Mysql-Dialect问题
- 实现Collection和Map接口的常用类的几种循环方法
- Android touch事件处理流程
- C++ 单例模式的实现
- 【Vijos1790】拓扑编号
- Android TextPaint 写文字 水平、垂直居中
- 2014/11/6
- 第三章总结
- 黑马程序员——面向对象<二> 笔记第四篇
- atitit。gui 界面皮肤以及换肤总结 java .net c++
- Unity3D学习之第三日(前面学习的总结,做了一个小项目)
- 程序员是否优秀的重要因素之一
- 三角形
- POJ 题目2299 Ultra-QuickSort(树状数组求逆序对)