Android RectF类的inset()方法

作者: 帮忙提醒我喂鸡 | 来源:发表于2017-11-01 16:51 被阅读0次

    最近在研究 MPAndroidChart 的源码,我去年接触到这份开源代码,刚看的时候真是和看天书一样。不久前我想自己写图表的自定义控件,发现自己真的难以写出扩展性好、灵活性高的自定义控件。于是想起来自己曾经看过的 MPAndroidChart 的代码,再把它拿出来研究研究。

    研究的过程中,我发现里面有一些方法在百度上搜索不到相关的帖子,想到以后有新手玩家想搜索这个方法却搜不到是多么沮丧,于是就到Google官方文档看了这个方法,用中文写了出来,同时也鼓励新手玩家慢慢养成看官方文档的习惯。

    研究源码是一件困难的事情。著名的源码的产生的过程一般是这样的:一个高手(或者是一个团队)花了好长一段时间来实现某功能需求,写代码,优化代码,进行了多次的反馈,然后进行迭代升级。想扫几遍就读懂它是不可能的。我们看源码就要有读经典书籍的心态:一次看不懂,就多看几次,看了一个月看不懂,就多看几个月,不会的知识点就把它补上。读源码可能一时之间看不到有什么用,可能读再久也看不到有什么用。但读源码应该能让我们更接近成为一个真正的程序员,而不是一个只会使用开源框架、只会复制粘贴的码农吧。

    前面只是个人的一些胡思乱想的东西,下面进入正题。
    先上个效果图。

    效果图

    红色矩形那一块区域是我自己写的一个自定义 View,在里面画了一个矩形。

    关于RectF的inset()方法。官方文档如下:

    官方源码截图

    大概意思就是:通过(dx,dy)插入矩形。如果 dx 是正的,则两边向内移动,使矩形变窄。如果 dx 是负的,则两边向外移动,使矩形更宽。这同样适用于 dy 和顶部和底部。

    实现效果图的关键代码如下:

    关键代码

    附上源码
    CSDN上传限制最少的积分是2分,这是要搞什么鬼啊。

    相关文章

      网友评论

        本文标题:Android RectF类的inset()方法

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