Android RectF类的inset()方法

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

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

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

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

效果图

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

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

官方源码截图

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

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

关键代码

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,909评论 25 708
  • 《ilua》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 1...
    叶染柒丶阅读 10,912评论 0 11
  • 序言 “佛曰:苦海无涯,回头是岸。——佛教用语” 面向对象(Object-Oriented),这是一条令无数开发人...
    叶小健阅读 2,435评论 4 24
  • 从前拜年讲顺序:初一崽来初二郎,初三初四拜地方 拜年拜到初七八,仰起坛子匍起塔 如今女婿家里住着岳母娘 注释: 1...
    微风LG阅读 417评论 4 4
  • 清晨,天空难得有着这么纯粹而深邃的蓝,如果你能细细地去体会这样的清晨,你会发现每一片树叶都有好几层的颜色,绿...
    木木小嘴阅读 185评论 0 1