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

Android笔记 自定义控件时drawText字符串宽度的3种计算方式

String str = "hello";
canvas.drawText(str, x, y, mPaint);//1. 粗略计算文字宽度:
float width = mPaint.measureText(str);//2. 计算文字的矩形,可以得到宽高:
Rect rect = new Rect();
mPaint.getTextBounds(str, 0, str.length(), rect);
int w = rect.width();
int h = rect.height();//3. 精确计算文字的宽度:
public static int  getTextWidth(Paint mPaint, String str)
{float iSum = 0;if(str != null && !str.equals("")){int len = str.length();float  widths[] = new float[len];paint.getTextWidths(str, widths);for(int i = 0; i < len; i++){iSum += Math.ceil(widths[i])}}return (int)iSum;
}
http://www.lryc.cn/news/152533.html

相关文章:

  • ChatRWKV 学习笔记和使用指南
  • Particle Life粒子生命演化的MATLAB模拟
  • golang中byte和rune的区别?
  • AI图像行为分析算法 opencv
  • MATLAB制图代码【第二版】
  • 5.0: Dubbo服务导出源码解析
  • python自动化测试-自动化基本技术原理
  • lodash 之 _.isEmpty
  • layui数据表格实现表格中嵌套表格,并且可以折叠展开
  • 云端笔记系统-自动化测试
  • 将帅要避免五个方面的弱点:蛮干、怕死、好名、冲动、溺爱民众
  • 2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书成都理工大学图书馆
  • vue的第3篇 第一个vue程序
  • 线性求逆元
  • 第一章 USB应用笔记之USB初步了解
  • 小白入门python
  • 《Kubernetes部署篇:Ubuntu20.04基于containerd部署kubernetes1.24.17集群(多主多从)》
  • Adobe Illustrator 2023 for mac安装教程,可用。
  • ElasticSearch(一)数据类型
  • Spark-Core核心算子
  • Linux和Windows下防火墙、端口和进程相关命令
  • 2021年09月 C/C++(六级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • 【算法】滑动窗口
  • JS获取Beego渲染模板Temple时传递的数据
  • 代码随想录训练营第五十二天|300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组
  • 前端三大Css处理器之Less
  • Win 教程 Win7实现隔空投送
  • 代码随想录算法训练营Day45 | 70. 爬楼梯 (进阶) | 322. 零钱兑换 | 279. 完全平方数
  • 算法训练营第四十一天(9.2)| 动态规划Part11:最长公共子序列
  • k8s基于rbac权限管理serviceAccount授权管理