Android View与ViewGroup

View是Android所有控件的基类,我们平常所用的TextView和ImageView都是继承自View的

第3章 View体系与自定义View

本章将介绍Android中十分重要的View。这里我用了View体系来概括它,可见它的庞大。对于一个App来说,与用户的交互、将内容展示给用户,既是十分重要的,也是十分必要的,而这些就是一个个View通过拓展实现的。View就如同现实世界的原子一般,是实现界面展示和交互的最小“微粒”。在Android中,Activity承担着大部分的展示任务,在本章中我们会了解Activity的组成。另外View的滑动也是非常重要的,的相关知识。Android系统也提供了很多控件用于展示以及和用户交互,比如TextView、Button、LinearLayout等。虽然它们的功能十分强大,但有时我们为了追求更便利及更好的效果仍旧需要自己去写自定义View,这就需要我们对  View的事件分发及     View的工作流程十分熟悉。所以在本章中也会着重讲解View的事件分发和View的工作流程,最后再讲解如何实现自定义View。

3.1 View与ViewGroup

View是Android所有控件的基类,我们平常所用的TextView和ImageView都是继承自View的,代码如下:

接着看看我们平常用的布局控件 LinearLayout,它继承自 ViewGroup,代码如下所示。ViewGroup又是什么呢?ViewGroup 可以理解为View的组合,它可以包含很多View以及ViewGroup,而它包含的ViewGroup又可以包含View和ViewGroup,依此类推,形成一个View树,如图3-1所示。

图3-1 View树

需要注意的是ViewGroup也继承自View。ViewGroup作为View或者ViewGroup这些组件的容器,派生了多种布局控件子类,比如LinearLayout、RelativeLayout等。一般来说,开发Android应用的UI界面都不会直接使用View和ViewGroup,而是使用这两大基类的派生类。看图3-2我们就会有一个直观的了解。图  3-2列举了View的部分继承关系,在这张图上我们看到ViewGroup、TextView等控件继承自 View,
LinearLayout、RelativeLayout   等控件继承自 ViewGroup,
TableLayout、RadioGroup 等等控件继承自 LinearLayout,
EditText、Button等控件继承自TextView,等等。

图3-2 View的部分继承关系

作者:

喜欢围棋和编程。

 
发布于 分类 编程标签

发表评论

电子邮件地址不会被公开。