Android Canvas 文字水平垂直居中
来源:互联网 发布:nginx tomcat struts2 编辑:程序博客网 时间:2024/05/16 16:00
Android中很多时候,因为各种原因,我们需要自己使用canvas.drawText方法把文字绘制上去。但是,这时候问题来了,为了美观,我们需要将文字水平垂直居中。drawText的参数比较复杂,真实的Y其实是baseLine的高度,这种资料网上有很多。之前也看过很多人的居中办法,有的也是挺欢乐的,个人感觉比较杂,而且有的是错误的(比如费了半天劲计算baseLine还错了,这就坑了),分享下我自己常用的,可以保证居中的效果(ImageView直接展示Bitmap),先看效果图:
代码:
public Bitmap createBitmapByTitle(String title){ Bitmap.Config conf = Bitmap.Config.ARGB_4444; int iconWidth = 240;//这里可以自定义高度 int iconHeight = iconWidth; Bitmap bitmap = Bitmap.createBitmap(iconWidth, iconHeight, conf); Canvas canvas = new Canvas(bitmap); Paint paint = new Paint(); paint.setAntiAlias(true); paint.setDither(true); paint.setColor(Color.BLUE); paint.setStyle(Paint.Style.FILL); canvas.drawRect(0,0,iconWidth,iconHeight,paint); paint.setTextSize(iconHeight * 1f);//字体大小 paint.setTextAlign(Paint.Align.CENTER); paint.setColor(Color.WHITE); Rect r = new Rect(0,0,iconHeight,iconHeight); paint.getTextBounds(title, 0, title.length(), r); float y = iconHeight / 2f + r.height() / 2f - r.bottom; canvas.drawText(title, iconWidth / 2, y, paint); return bitmap; }
0 0
- Android Canvas 文字水平垂直居中
- Android TextPaint 写文字 水平、垂直居中
- div文字水平垂直居中
- canvas drawText文字垂直居中
- Android进阶(二十二)设置TextView文字水平垂直居中
- Android 史上最简单的实现Canvas drawText文字垂直居中
- div 文字垂直居中 水平居中 div css 文字垂直居中 水平居中
- 安卓开发——实现canvas.drawText文字水平且垂直居中
- android canvas 文字居中
- DIV中文字水平、垂直居中
- div中的文字垂直水平居中
- css如何让文字水平垂直居中
- div+css文字水平垂直居中
- div 中的文字水平居中和垂直居中
- 水平居中,垂直居中
- 水平居中垂直居中
- DIV 浏览器水平垂直居中及文字垂直水平居中问题
- android canvas drawText()文字居中
- SpringMVC单文件上传
- FFMPEG之路——初探类‘HelloWord’
- Webpack-简介
- web前端知识体系大全
- 阿里云部署rails应用遇到的问题与解决方案
- Android Canvas 文字水平垂直居中
- CDN是什么?使用CDN有什么优势?
- maven settings.xml文件
- 基于MFC的OpenGL绘图
- 你不得不知道的js之作用域链与闭包
- C语言中常见的内存错误
- android 时区时间转换
- JavaScript中的document.cookie的使用
- sqlite3_get_table 的函数使用