两种计算Text文本的尺寸的区别

(1)

通过getTextBounds的方式获取Text的绘制尺寸
/*** * 通过getTextBounds的方式获取Text的绘制尺寸 * @param text * @return */private int[] getTextMeasurementByBound(String text){    Rect textRect = new Rect();    Paint selectedItemPaint = new Paint();    selectedItemPaint.getTextBounds(text, 0, text.length(), textRect);    int measureHeight = textRect.height();    int measureWidth = textRect.width();    return new int[]{measureHeight, measureWidth};}

(2)通过Layout测量的方式获取Text的绘制尺寸

/*** * 通过Layout测量的方式获取尺寸 * @param text * @return */private int getTextMeasurementByLayout(String text){    Rect textRect = new Rect();    Paint selectedItemPaint = new TextPaint();    int measureHeight = Layout.getDesiredWidth(text, selectedItemPaint);    return measureHeight;}
时间: 2024-12-18 11:20:00

两种计算Text文本的尺寸的区别的相关文章

集合相似度对比的两种计算算法

相似度对比的两种计算算法:Jaccard similarity相似性系数和Ochiai coefficient落和系数 Jaccard coefficient:A,B分别代表符合某种条件的集合:两个集合交集的大小/两个集合并集的大小,交集=并集意味着2个集合完全重合. Ochiai coefficient:A,B分别代表符合某种条件的集合:两个集合的交集大小/两个集合大小的几何平均值.是余弦相似性的一种形式. 相关参考链接:http://en.wikipedia.org/wiki/Jaccard

两种计算自然对数的算法比較

引言 前一段时间.我写了两篇计算自然对数的算法的随笔,分别使用椭圆θ函数-算术几何平均法和泰勒级数展开式来计算. 那么这两种算法的性能怎样呢?在參考资料[3]中有下面说法:   上面的 elliptic method 就是椭圆θ函数-算术几何平均法.Taylor's method 2 就是我使用的泰勒级数展开式.能够看出,elliptic method 在计算精度大时占绝对优势.但在计算精度小时并不占优.而在我们的应用中,要计算的 decimal 数据类型的精度仅仅有 28 位有效数字,即上面的

两种计算自然对数的算法比较

引言 前一段时间,我写了两篇计算自然对数的算法的随笔,分别使用椭圆θ函数-算术几何平均法和泰勒级数展开式来计算.那么这两种算法的性能如何呢?在参考资料[3]中有以下说法:   上面的 elliptic method 就是椭圆θ函数-算术几何平均法,Taylor's method 2 就是我使用的泰勒级数展开式.可以看出,elliptic method 在计算精度大时占绝对优势,但在计算精度小时并不占优.而在我们的应用中,要计算的 decimal 数据类型的精度只有 28 位有效数字,即上面的 P

聊聊JVM(三)两种计算Java对象大小的方法

这篇说说如何计算Java对象大小的方法.之前在聊聊高并发(四)Java对象的表示模型和运行时内存表示 这篇中已经说了Java对象的内存表示模型是Oop-Klass模型. 普通对象的结构如下,按64位机器的长度计算 1. 对象头(_mark), 8个字节 2. Oop指针,如果是32G内存以下的,默认开启对象指针压缩,4个字节 3. 数据区 4.Padding(内存对齐),按照8的倍数对齐 数组对象结构是 1. 对象头(_mark), 8个字节 2. Oop指针,如果是32G内存以下的,默认开启对

js两种定义函数、继承方式及区别

一:js两种定义函数的方式及区别 1:函数声明: function sayA() { alert("i am A"); } 2:函数表达式: var sayB = function() { alert("i am B"); } 区别:code 前者会在代码执行之前提前加载到作用域中,后者则是在代码执行到那一行的时候才会有定义 二:js两种继承方式及区别 对象冒充 临时属性 call() apply() 原型链 code 继承应选哪种 code 三:实例 js两种定义

OpenGL中两种计算投影矩阵的函数

OpenGL无意间同时看到两种创建投影矩阵的写法,可以说它们完成的是同样的功能,但写法完全不同,可以观摩一下什么叫做异曲同工之妙... 第一种: gltMakeShadowMatrix函数是重点 1 // Gets the three coefficients of a plane equation given three points on the plane. 2 void gltGetPlaneEquation(GLTVector3 vPoint1, GLTVector3 vPoint2,

eclipse中的两种Jre 及 Jre与Jdk的区别

分类: ——————————区分eclipse中的两种Jre———————- (Eclipse也是一个普通的Java程序,因此必须有一个JRE做为运行环境.如果你的机器上没有安装任何JRE(或者JDK,本文不做二者的区分),那么点击eclipse.exe就会报错说找不到JRE.此时可以安装一个JRE.或者直接把JRE目录拷贝到eclipse安装目录下. 在Eclipse的每个项目中可以为项目指定不同的JRE版本,比如A项目使用JDK1.4编译,B项目使用JDK1.5编译.这个JDK版本是和Ecl

VUE的两种跳转push和replace对比区别

router.push(location) 在vue.js中想要跳转到不同的 URL,需要使用 router.push 方法. 这个方法会向 history 栈添加一个新的记录,当用户点击浏览器后退按钮时,则回到之前的 URL. 当你点击 <router-link> 时,这个方法会在内部调用,所以说,点击 <router-link :to="..."> 等同于调用 router.push(...) 声明式: <router-link :to=".

js中两种定时器,setTimeout和setInterval的区别

setTimeout只在指定时间后执行一次,代码如下: <script> //定时器 异步运行 function hello(){ alert("hello"); } //使用方法名字执行方法 var t1 = window.setTimeout(hello,1000); var t2 = window.setTimeout("hello()",3000);//使用字符串执行方法 window.clearTimeout(t1);//去掉定时器 </