Android中关于字体宽高的获取

本文详细介绍了在Android中如何获取文本的宽度和高度,包括两种获取宽度的方法及其区别,以及如何利用FontMetricsInt类计算文本高度。文章强调了在实际应用中根据需求选择适当方法的重要性,并提供了源码示例。
摘要由CSDN通过智能技术生成

前言:

在自定义控件中,有时我们也需要在其中加入一些文本进行绘制时,那么,此时,对于文本绘制的位置,

我们就必须做到心中有数,下面就来聊一下其文本尺寸的相关知识点:


文本宽度的获取

方式一:

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会在左右文本留有一丝间距,

这样在与其它控件并排绘制时,会有一种美感,第二种方式得到的就是

文本的真正宽度,两边刚好紧密包裹着文本,两种宽度,具体使用哪一种,

看用户自己的一个需求,如果想绘制的控件和文本并排时留有一点空隙,

就推荐使用第一种,想绘制的控件和文本之间不留任何空隙,那就使用第二种方式


  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值