在 Android 所有的控件和 Layout 都有着一个父类 View 。Anroid 通过继承的方式,对父类控件进行继承,由此来在父类基础上创造新的控件。
View
我们先看看 View 这个父类
Paste_Image.png
可以看到间接继承的有100多个子类,不得不说 View 这个爹很成功(Object 斜眼)。
ViewGroup
我们先拿其中的 ViewGroup 来说吧
Paste_Image.png
可以看到大部分的 Layout 都继承自 ViewGroup 。一个 ViewGroup 可以包含别的 View 或 ViewGroup 。所以一个视图的根布局,通常是一个 ViewGroup 。
对于其中的 LinearLayout , RelativeLayout , GridLayout 等 Layout 大家应该都比较熟悉了。
但是看看里面还有一些控件,这些控件同样有着包含别的 View 或 ViewGroup 的功能。比如 RecyclerView , AdapterView 。
可能你会问,这个 AdapterView 是什么玩意。其实这个是我们常用的 GridView, ListView 的父类,换句话说,GridView, ListView 也属于 ViewGroup ,他们都能包含其他的 View 或 ViewGroup。相信你