Android的UI组件繁多,如果学习的时候不能自己总结和分类而是学一个记一个不去思考和学习他们内在的联系那真的是只有做Farmer的命了。为了向注定成为Farmer的命运抗争,在学习Android的UI设计时我们需要总结出一套系统去深入理解Android的UI组件的内在关系。
Android所有UI组件都直接或间接的继承自View。View的继承关系如下。
java.lang.Object
--android.view.View
谈到View,就要谈到它的一个抽象子类:ViewGroup
java.lang.Object
--android.view.View
--android.view.ViewGroup
而根据UI组件的直接父类,我们将UI组件分成两类:
1. 继承自View而非ViewGroup
2. 继承自ViewGroup
下面给出一张Android的UI关系图。(盗图勿怪啊)
仔细看看这张图,其实我们可以对UI组件进行更细的划分:
1. 继承自TextView的组件(主要包括TextView、Button、EditText等)
2. 继承自AdapterView的组件(主要包括ListView、Spinner、GridView等)
3. 布局组件(主要包括LinearLayout、RelativeLayout、FrameLayout等)
4. 继承自布局的控件(TimePicker、DatePicker都属于此类)
5. Other组件
在将UI组件进行详尽划分之后我们就可以一类一类的去学习而不是一个个的去学习UI组件的知识了。学习变的高效了不是?