当前位置: 首页 > news >正文

南昌网站建设和推广推广代理

南昌网站建设和推广,推广代理,深圳市建设工程招标网,嘉定专业网站制作公司drawText() 绘制文字 绘制进度条:paint.strokeCap Paint.CAP.RONUD 线条两边样式 设置文字字体:paint.typeFace Resources.Compat.getFont(context,font) 设置加粗 paint.isFakeBoldText 设置居中: paint.setTextAlign Paint.Align.CENTER //居中, 并不是真正的居中 往…

drawText() 绘制文字

绘制进度条:paint.strokeCap = Paint.CAP.RONUD 线条两边样式 

设置文字字体:paint.typeFace = Resources.Compat.getFont(context,font)

设置加粗  paint.isFakeBoldText

设置居中: paint.setTextAlign = Paint.Align.CENTER //居中, 并不是真正的居中 往往会比较靠上,有baseLine 基线的作用, baseLine 有五条 ,(ascent,top,desencent,bottom)会有纵向 | 便宜

通过getTextBounds(text,start,end,bounds //存放结果 ) 获得left ,top  right bottom 偏移量 

静态文字设置示例:

paint.getTextBounds("AAAA",0,"AAAA".length,bounds)
canvas.drawText("AAAA",width / 2f,height / 2f - ((bounds.top + bounds.bottom) / 2),paint)

计算偏移量 设置居中,

动态设置:

paint.getFontMetrics(fontMetrices)
canvas.drawText("abcpst",width / 2f,height / 2f - ((fontMetrices.ascent + fontMetrices.descent) / 2),paint)

文字靠左显示:

paint.textAlign = Paint.Align.LEFT
canvas.drawText("ababab",0f, - fontMetrices.top,paint)

靠左上角

paint.textAlign = Paint.Align.LEFT
paint.getTextBounds("ababab",0,"ababab".length,bounds)
canvas.drawText("ababab",0f, - bounds.top.toFloat(),paint) //静态

文字左右各占空间 字体越大 占用空越大 示例:

        paint.textSize = 150.dppaint.textAlign = Paint.Align.LEFTpaint.getTextBounds("ababab",0,"ababab".length,bounds)canvas.drawText("ababab",0f, - bounds.top.toFloat(),paint) paint.textSize = 15.dppaint.getTextBounds("ababab",0,"ababab".length,bounds)canvas.drawText("ababab",0f, - bounds.top.toFloat(),paint) 

字体越大 文字间间距越大,因为有baseLine的左右以及textBound设置

解决:

        paint.textSize = 150.dppaint.textAlign = Paint.Align.LEFTpaint.getTextBounds("ababab",0,"ababab".length,bounds)canvas.drawText("ababab",- bounds.left.toFloat(), - bounds.top.toFloat(),paint) paint.textSize = 15.dppaint.getTextBounds("ababab",0,"ababab".length,bounds)canvas.drawText("ababab",-bounds.left.toFloat(), - bounds.top.toFloat(),paint) 

其实仔细看还是有一点点间距,这是文字的字体所占用的缝隙

StaticLayout 使用
StaticLayout(text,textPaint,width ,align,span 间距,行距)

val staticLayout = StaticLayout.Builder.obtain(text, 0, text.length, textPaint, width)
textPaint.textSize = 16.dp
staticLayout.build().draw(canvas)

 

paint.fontSpacing 行间距

单个图文混合排序示例

canvas.drawBitmap(bitmap, width - IMAGE_SIZE, IMAGEPADDING, paint)paint.getFontMetrics(fontMetrice)val mesureWidth = floatArrayOf(0f)var start = 0var count: Intvar offSet = -fontMetrice.topvar maxWidth: Floatwhile (start < text.length) {if (offSet + fontMetrice.bottom < IMAGEPADDING || offSet + fontMetrice.top > IMAGE_SIZE + IMAGEPADDING) {maxWidth = width.toFloat()} else {maxWidth = width.toFloat() - IMAGE_SIZE}count = paint.breakText(text,start,text.length,true,maxWidth,mesureWidth)canvas.drawText(text, start, start + count, 0f, offSet, paint)start += countoffSet += paint.fontSpacing}

 

http://www.hkea.cn/news/380375/

相关文章:

  • 网站怎么做qq微信登陆长沙优化网站哪家公司好
  • 为什么上不了建设银行个人网站漳州网络推广
  • 天津手机网站建站培训代运营公司可靠吗
  • 网站制作的一般步骤长春网站优化平台
  • Python做网站 性能上海seo培训中心
  • 网上投诉平台公众号排名优化
  • 网页模板网站推荐媒体公关是做什么的
  • 泰安的网站建设公司爱站网域名查询
  • 台州椒江网站制作公司广告推销
  • 南康做网站合肥seo招聘
  • 成都网站建设定长沙专业网站制作
  • 有什么网站是python做的如何自己开发一个平台
  • 网站建设标志设计北京网站优化公司
  • 图标使用wordpress杭州seo博客
  • 企业网站如何做推广竞价推广托管公司介绍
  • 网站如何做微信登录seo公司 杭州
  • 中山里水网站建设软文广告案例分析
  • 做外贸是用什么网站做新型网络营销方式
  • 心理咨询网站开发百度手机seo软件
  • 17网站一起做网批seo营销优化
  • 做赚钱网站程序员培训班要多少钱
  • 已经收录大规模修改收录页面对网站有影响吗什么软件可以推广自己的产品
  • 丁香园做科室网站厦门网络推广
  • 免费的企业网站制作提高网站权重的方法
  • 兰州网站制作怎么样网页在线生成
  • 自建网站网址雅虎搜索引擎首页
  • 注册科技有限公司可以做网站吗百度搜索排名机制
  • 武汉做网站好网站制作多少钱一个
  • 安阳网站建设怎么从网上找客户
  • 文章博客媒体网站模板怎样在百度上打广告