
2.1 UI控件简介
Android SDK提供了丰富的UI控件,基本能够满足大多数应用的UI开发需求。此外,一些优秀的第三方控件也被广泛使用。

2-1 UI控件简介
UI控件的父类是View类,View类定义了UI控件共有的属性和方法,比如位置、大小、绘制方法等,所有控件都具备这些属性。UI上使用的控件,都是直接或间接派生自View类,比如常见的按钮控件Button类、文本显示控件TextView类、文本编辑控件EditText类等,都是View类的子类。
UI控件总体上分为两大类:一类是用于信息呈现和交互的控件;另一类是容器类的控件。在容器控件中放置其他控件,以实现分组、排版布局等管理。View类的子类ViewGroup类,是各种容器类的父类。开发环境中控件面板Common类的常用控件如图2-1所示,包含文本框、按钮、图片显示控件等控件。
在Android应用UI开发过程中,第一步是将控件放入界面,使其成为界面的一部分。第二步,通过配置控件的属性,设计控件的位置、大小、颜色、呈现的文本内容等,达到UI排版布局的要求。
在Android Studio开发环境中,可以在属性面板上以可视化方式设置控件的属性,如图2-2所示,选中控件后,可以在属性面板中为控件设置属性。也可以直接在UI的布局文件中直接编辑控件的属性。两种方式殊途同归,最终的属性配置都保存在布局文件中。还可以在程序代码中配置控件的属性,这种方式可以让程序代码与界面进行交互,经常会在程序中用代码来修改控件属性。

图2-1 常用控件

图2-2 属性面板
UI控件类关系如图2-3所示,View类是所有控件的父类。

图2-3 UI控件类关系图
View类中定义了控件的通用属性,通过学习View类中的通用属性,就可以了解各种控件的通用属性。View类的部分属性如表2-1所示,表中的XML属性省略了前缀“android:”,在布局文件中编辑属性时要加上该前缀。表中还列出了在Java代码中配置属性的方法,大部分属性都有对应的方法供在代码中操作属性。
表2-1 View类的部分属性

(续)
