布局之类的布局架构。
Ⅵew对象是一个数据体,它的属性存储了用于屏幕上一块矩形区域的布局参数及内容,并负责这个矩形区域之中的所有测量、布局、焦点转换、卷动以及按键/触摸手势的处理。作为一个用户界面对象,Ⅵew同时也担任着用户交互关键点以及交互事件接受者的角色。
2.视图层次
在Android平台上,你可以用图2.1所示的Ⅵew和ⅥewGroup层次图来定义一个A血vity的UI。
这个层次树可随你所愿的简单或者复杂化。为了把一个视图层次树展现到屏幕上,你的Acti啊锣必须调用setContentVieWO方法,并传给它一个根节点对象的引用。Android系统将接受此引用,并用来进行界面的废止、测量并绘制这棵树。
层次的根结点会要求它的子节点进行自我绘制,而且,每个视图组节点也负责调用它的子视图进行自我绘制。子节点将向父节点申请绘制的位置以及大小,而其次树顶层开始)解析你布局中的元素,实例化View并将它们添加到它们的父节点中。因个绘制的元素将位于所有重叠元素之上显现。
3.布局
定义并展现你的视图层次的最
常用的方法是使用XML布局文件。如同
H俐L一样,ⅪⅥL为布局提供了一种可读的结构。XML中的每个元素是Ⅵew 或Ⅵew蛳对象(或者是它们的子类)。Ⅵew对象是树的叶节点,而ViewGroup对象是树的分支。XML元素的名称与它体现的
Java类相对应。所以一个q溆tⅥew>元素将在你的UI中生成一个TeXt'vi蹦,而
则创建一个"nearLayout视图组。当你载入一个布局资源时,Android系统会根据布局中的元素初始化这些运行时对象。
请注意:LinearLayout元素包含了Texfview和Button对象。你可以在其中另外安置一个LinearLayout(或其它类型的视图组),以延展这个视图层次,构建更复杂的布局。
可以用Java代码来绘制view和ⅥewGroup对象,并用addⅥewmew)方法
动态的插入新的View和Viewmup对象。
有相当多的方法来对视图进行布局。使用大量不同种类的视图组,可以有近乎无穷的方式来构建子视图和视图组。Android提供了一些预定义的视图组,其中包括LiIlearLayoutRelatiVe