android字体等宽,Android等宽字体大小
我正在做一个图形代码编辑器,我可以通过拖动来修改常量.
我想突出显示代码中带有蓝色矩形的命令,使得左边框和右边框位于字符的中间,但在某些情况下蓝色矩形仍然未对齐:
我的想法是首先计算字符宽度和字符空间,然后将它们乘以我的文本中的命令位置.
val mCodePaint = new TextPaint()
mCodePaint.setTypeface(Typeface.MONOSPACE)
mCodePaint.setAntiAlias(true)
mCodePaint.setSubpixelText(true)
mCodePaint.setColor(0xFF000000)
val dimText = new Rect()
val dimText1 = new Rect()
val dimText2 = new Rect()
final val s1 = "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW"
final val s2 = "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW"
// dimText1.width() = char_length * s1.length + space_between_chars*(s1.length-1)
// dimText2.width() = char_length * s2.length + space_between_chars*(s2.length-1)
def getCharWidth(): Float = {
mCodePaint.getTextBounds(s1,s1.length,dimText1)
mCodePaint.getTextBounds(s2,s2.length,dimText2)
(dimText2.width() * (s1.length - 1) - dimText1.width() *(s2.length - 1))/(s1.length - s2.length)
}
def getIntercharWidth(): Float = {
mCodePaint.getTextBounds(s1,dimText2)
(dimText1.width * s2.length - dimText2.width * s1.length)/(s1.length - s2.length)
}
// The main function that draw the text
def drawRuleCode(canvas: Canvas,...): Unit = {
var char_width = getCharWidth() // At run time,equals 29
var space_width = getIntercharWidth() // At run time,equals -10
for(action
...
val column = action.column
val length = action.length
val x1 = left_x+8 + column*char_width + (column-1)*space_width - 0.5f*space_width
val x2 = x1 + length*char_width + (length-1)*space_width + 1*space_width
rectFData.set(x1,y1,x2,y2)
canvas.drawRoundRect(rectFData,5,selectPaint)
}
for(line
...
canvas.drawText(s,left_x + 8,...,mCodePaint)
}
您对如何克服这种小对齐问题有任何想法吗?有时它会产生巨大的差异,特别是当表达很长时.
编辑:我绘制了计算文本边界,实际上它们是错误的.文本略大于getTextBounds(紫罗兰色线)给出的矩形:
android字体等宽,Android等宽字体大小相关推荐
- 【Android 应用开发】 自定义组件 宽高适配方法, 手势监听器操作组件, 回调接口维护策略, 绘制方法分析 -- 基于 WheelView 组件分析自定义组件
博客地址 : http://blog.csdn.net/shulianghan/article/details/41520569 代码下载 : -- GitHub : https://github.c ...
- android用什么字体,关于 Android 默认字体以及对比微软雅黑字体
wbpluto的手机中一共有9个字体文件:1个为时钟显示准备的Clockopia,4种样式的无衬线(Sans Serif)字体,4种样式的衬线(Serif)字体.关于衬线和无衬线,各位可以上网搜索一下 ...
- Android 为应用或Textview设置自定义字体,主流字体包
文章目录 前言 一.assets是什么? 二.APP全局字体 2.1.引入库 2.2.在Application中初始化calligraphy 2.3.让指定的Activity配置自定义字体 2.3.1 ...
- android l字体,关于 Android 默认字体以及对比微软雅黑字体
用了一段时间 Android 手机之后,不禁对系统中的字体产生了兴趣.因为看起来,Android 中使用的中文字体和 Windows 中使用的"微软雅黑"很像,我一度怀疑 Andr ...
- Android TextView设置部分文字的颜色字体和大小
目录 一,通过Html实现 1,例如实现如下效果 2,为一段文字中某些字单独设置字体大小 3,设置字体 二,通过Span 相关知识 前言 有时候一个TextView显示很多文字,所有文字颜色,字体,大 ...
- android字体颜色黑色,Android中颜色选择器和改变字体颜色的实例教程
1.构建一张七彩图: 我们经常看到这种样子的颜色选择器吧.. 然后其实右边的亮度选择是: 这样我们的代码就可以进行啦... // 创建七彩图片 private void init() { int[] ...
- android 动态修改控件的宽高
今天,简单讲讲android如何动态设置控件的宽高. 这个其实也比较简单,但是之前做的时候出现了问题,代码里设置的宽高是dx,需要先转成dp.下面以RelativeLayout作为例子,简单记录一下. ...
- Android 系统(72)---Android系统增加字体库及修改系统默认字体
Android系统增加字体库及修改系统默认字体 阅读数:53 转载出处:https://blog.csdn.net/hsaekong/article/details/80305263 前言 最近项目上 ...
- android 11.0 12.0添加系统字体并且设置为默认字体
1.概述 在11.0 12.0系统定制化开发中,在产品定制中,有产品需求对于系统字体风格不太满意,所以想要更换系统的默认字体,对于系统字体的修改也是常有的功能,而系统默认也支持增加字体,所以就来添加楷 ...
- android设置应用字体大小,在Android应用程序改变的TextView的字体大小从原始设置更改字体大小(Font size...
我想在我的应用程序指定我自己的文字大小,但我有这样一个问题. 当我在设备设置中更改字体大小,我的应用程序的字体大小TextView也会改变. Answer 1: 其实,设置字体大小只影响大小sp . ...
最新文章
- 为什么三维重建才是计算机视觉的最终归宿?
- 套接字没有连接并且没有提供地址_网络是怎样连接的 -- web服务器接到请求后将会做什么...
- S3C6410设备时钟源选择、启动方式选择和内存映射
- MySQL调优(二):数据类型和schema优化,MySQL8.0取消查询缓存的原因
- 20应用统计考研复试要点(part15)--应用多元分析
- 跟着内核学框架-从misc子系统到3+2+1设备识别驱动框架
- Modeling Deformable Objects from a Single Depth Camera
- 【Mysql】数据库的设计学习笔记
- MOSFET的SOA或者ASO是什么?
- 安防工程商选择千兆POE交换机的注意事项
- mysql索引需要注意什么意思_mysql索引需要了解的几个注意
- registration 计算机视觉
- 【Arduino实验】霍尔开关传感器例程
- android fake gps,Fake GPS Location
- 本科计算机专业介绍英语,计算机专业本科生英文简历模板
- 通往WinDbg的捷径(一
- [原创] 利用busybox, extlinux 在工控机CompactFlash(CF卡)上构建Linux系统(上)
- 手机麦克风权限在哪里开启_全民K歌麦克风设置在哪 开启麦克风权限步骤
- Kubernetes 的 crictl 和 ctr 管理命令
- Mybatis使用注解的方式执行存储过程并获取返回值
热门文章
- 500 Internal Server Error
- [洛谷P1156][codevs1684]垃圾陷阱
- 【BZOJ 1031】[JSOI2007]字符加密Cipher(后缀数组模板)
- visual studio code(vs code) 编译、运行、调试程序(调用g++)
- java的值传递和引用传递
- web前端性能调优(转载)
- WebService实现文件上传下载
- [转载] log4j-over-slf4j与slf4j-log4j12共存stack overflow异常分析
- 2019牛客多校 Round2
- 2019暑假绍兴第一中学游记