🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
#### 3.1.1 什么是View 在介绍View的基础知识之前,我们首先要知道到底什么是View。View是Android中所有控件的基类,不管是简单的Button和TextView还是复杂的RelativeLayout和ListView,它们的共同基类都是View。所以说,View是一种界面层的控件的一种抽象,它代表了一个控件。除了View,还有ViewGroup,从名字来看,它可以被翻译为控件组,言外之意是ViewGroup内部包含了许多个控件,即一组View。在Android的设计中,ViewGroup也继承了View,这就意味着View本身就可以是单个控件也可以是由多个控件组成的一组控件,通过这种关系就形成了View树的结构,这和Web前端中的DOM树的概念是相似的。根据这个概念,我们知道,Button显然是个View,而LinearLayout不但是一个View而且还是一个ViewGroup,而ViewGroup内部是可以有子View的,这个子View同样还可以是ViewGroup,依此类推。 明白View的这种层级关系有助于理解View的工作机制。如图3-1所示,可以看到自定义的TestButton是一个View,它继承了TextView,而TextView则直接继承了View,因此不管怎么说,TestButton都是一个View,同理我们也可以构造出一个继承自ViewGroup的控件。 :-: ![](https://img.kancloud.cn/00/3d/003db6dd0cda5358978e7c90cdd49a1b_1438x488.png) 图3-1 TestButton的层次结构