美文网首页
Android Paint中measureText(),getT

Android Paint中measureText(),getT

作者: 逃离_102 | 来源:发表于2022-12-05 17:10 被阅读0次

    说明

    在Android很多UI场景都有测量字符串的长度的要求,用Paint中的measureText(),getTextBounds()这2个方法是很常见的操作。下面就简单说说注意事项及遇到的坑。

    对比

    getTextBounds():获取宽高信息,结果放在Rect中,是API 30引入的新方法,使用时一定要适配,不然在低版本的手机上会报NoSuchMethodError错误;
    measureText():只能获取到字符串的宽度,功能相对弱些,不过大部分场景也够了。

    差别

    measureText() 返回结果会略微大于 getTextBounds() 所得到的宽度信息,但实际上,这两个方法在具体调用时虽然都是不同的方法,但在 native 层的测量算法都是一致的,只不过在最后返回时,measureText() 会在左右两侧加上一些额外的宽度值,而 getTextBounds() 则是返回需要的最小宽度而已。

    就说到这了,有什么不对的地方,欢迎指正,有什么没说全的,欢迎讨论留言

    相关文章

      网友评论

          本文标题:Android Paint中measureText(),getT

          本文链接:https://www.haomeiwen.com/subject/sulifdtx.html