前言:
在自定义控件中,有时我们也需要在其中加入一些文本进行绘制时,那么,此时,对于文本绘制的位置,
我们就必须做到心中有数,下面就来聊一下其文本尺寸的相关知识点:
文本宽度的获取
方式一:
width = paint.measureText(text,0,text.length());
方式二:
Rect rect = new Rect(); paint.getTextBounds(text,0,text.length(), rect); width = rect.width();
那么,android系统给我们提供这两种方式去获取干嘛呢?用一种不就好了,
能这么想,很有计算机的天赋,我当时也是这么想的,后来实验了一把,
第一种方式,得到的width获取第二种方式得到的width的值会大一点,
这又是为什么呢?第一种方式得到的width会在左右文本留有一丝间距,
这样在与其它控件并排绘制时,会有一种美感,第二种方式得到的就是
文本的真正宽度,两边刚好紧密包裹着文本,两种宽度,具体使用哪一种,
看用户自己的一个需求,如果想绘制的控件和文本并排时留有一点空隙,
就推荐使用第一种,想绘制的控件和文本之间不留任何空隙,那就使用第二种方式