02.AndroidView体系
AndroidView体系
在学习自定义控件之前,我们先了解一下Android的View体系
打开AS-->ctrl+N-->输入View
这样子,我们就找到了View这个类了!
View的继承关系
进到View这个类里, 选中类名,按ctrl+H,显示类的继承关系:
我们可以看到一些熟悉的控件,比如说ProgressBar,ImageView,TextView
所以我们得到如下的继承关系
继续打开ViewGroup
所以我们是又可以得到以下这张关系转图:
View和ViewGrop的区别
先看ViewGroup,就是View组的意思是吧!也就是说,ViewGrop里面有很多子View,用于管理/摆放子View的View就叫ViewGroup。
什么是View呢?严格上来说,都是View,为什么呢?有了前面的定义,ViewGroup里面的全是View,因为你是View-Group呀!而ViewGrop里也可以方ViewGrop,所以说,ViewGroup也可以认为是View。比如说LinearLayout里面还可以放LinearLayout吧!
但是通常来说,我们说自定义View指的是定那些需要自己绘制的控件,重点是绘制,比如说时钟呀,波浪效果这些...View里面不再摆放其他的子View,我们把这种称为View
而ViewGroup,则是用于控制View的摆放,比如说LinearLayout,让子View成线性摆放,RelativeLayout让子View以相对的位置进行摆放..
总结
对于Android的View体系,了解继承关系,知道怎么区分是View,什么是ViewGroup即可。View注重的是绘制内容,ViewGropu注重子View的摆放。
有了这些基础知识,我们后面写自定义控件就可以步骤化了。第一步就是要判断你写的这个控件属于ViewGrop还是View.