自定义view笔记---android开发艺术探索小结

从小就语文不好,第一次写文章心里还是有点忐忑的~。这里主要是对看书学到的知识作总结,(发现以前的东西都忘了)废话不多说,直接进入主题吧。

主要解决俩个问题:

1.view支持wrap_content

2.padding要自己处理


拿画一个圆来说,先看下一普通平时的写法

自定义view笔记---android开发艺术探索小结_第1张图片

这样写就简单实现了一个红色的实心圆,但是如果你在布局中修改padding值是无法生效的,还有宽高设为wrap_content时也是无效的。

为解决上面俩种问题,我们需要做如下处理:

1.padding值无法生效,解决这个问题其实很简单,就是在onDraw的时候,把padding值算进去,下面是代码

自定义view笔记---android开发艺术探索小结_第2张图片

2.在wrap_content时无效,解决办法,在测量的时候得到宽高设置的模式和大小,做出判断

自定义view笔记---android开发艺术探索小结_第3张图片

MeasureSpec.AT_MOST 是指父组件能够给出的最大的空间,也就是指wrap_content时,这里我给的默认值是200。

自定义属性太简单,这里就不说了。

代码不多,挺简单的,直接贴出完整代码吧


自定义view笔记---android开发艺术探索小结_第4张图片

你可能感兴趣的:(自定义view笔记---android开发艺术探索小结)