View和ViewGroup的区别:
一个灵活的胖子_Mr.Wang:https://blog.csdn.net/qq941263013
https://blog.csdn.net/qq941263013/article/details/82500145
参考:拉大锯
做一个笔记,搬运工 ,自用
自定义控件大致分类:
所以要明白自己写的控件是属于View 还是ViewGroup,这两者套路不一样
- 自定义组合控件
自定义组合控件,其实就是把多个现在有控件整合在一起,把复杂的操作封装起来,把简单的操作暴露出去。我们也可以使用两个buttonl+一个TextView或者EditText组合起来。别人拿到你的控件,不关心怎么实现,只关心使用即可。
- 自定义View
View 从控件的角度出发,这些控件里面没有子View ,就是View了,不如Button,TextView,ImageVIew等。
对现有的控件进行修改,比如说我们的ImageView,你要整个一个圆角的吧!或者画一个外框框
- 自定义ViewGroup
自定义ViewGrop,什么是ViewGroup,用来包含孩子的,控制子View的摆放的,是容器。ViewGrop里还可以包含着ViewGroup和View。比如说,五大布局,RecyclerView,ListView,ViewPager…这些都是ViewGrop。
总结:
自定义View指的是需要自己绘制的控件,重点是绘制,比如说时钟呀,波浪效果这些…View里面不再摆放其他的子View,我们把这种称为View
而ViewGroup,则是用于控制View的摆放,比如说LinearLayout,让子View成线性摆放,RelativeLayout让子View以相对的位置进行摆放!
View注重的是绘制内容,ViewGroup是强调子View的摆放。要想写自定义控件,第一步要判断自己写的控件是View还是ViewGroup