Android User Interface 用户界面
接下来我们会用较多的章节学习 Android 中的 UI 布局和 UI 控件
UI
什么是 UI ?
UI 就是 User Interface 的缩写,中文 用户界面,简单的解释就是 APP 中用户看得到摸得着的地方
比如微信的 发现 页面就是一个 UI
比如我们的 HelloWorld 项目运行后的页面也是一个 UI
两张图中,粉色框起来的部分就是一个 UI 界面,青色框起来的就是各种 UI 控件
Android UI
Android APP 中,所有的用户界面元素都是由 View 和 ViewGroup 的对象构成的
- View 是绘制在屏幕上的用户能与之交互的一个对象
- ViewGroup 是一个用于存放 View 对象 ( 或其它 ViewGroup ) 的布局容器
- ViewGroup 是 View 的子类,所以继承了 View 所有的公开属性和方法
Android 提供了一系列 View 和 ViewGroup 子类,可为您提供常用输入控件(如按钮和文本字段)和各种布局模式(如线性布局或相对布局)。
User Interface Layout ( 用户界面布局 )
Android APP 用户界面上的每一个组件都是使用 View 和 ViewGroup 对象的层次结构来构成的
ViewGroup 是看不见的,只是用于组织子 View 的容器
View 可能是输入控件或者在 UI 上绘制了某块区域的小部件
有了层次树,我们就可以根据自己的需要,设计简单或者复杂的布局了(布局越简单性能越好)
创建 Layout 布局
要声明布局,我们可以实例化代码中的 View 对象并开始构建树,但是定义布局最简单且最有效的方法是使用 XML 文件。如同 HTML 一样,XML 也为布局提供了一种用户可读结构
视图的 XML 元素名称与其代表的 Android 类相对应。比如,<TextView> 元素用于在 UI 中创建一个 TextView 小部件,而 &l;tLinearLayout> 元素用于创建一个 LinearLayout 视图组
下面的代码是一个包含文本视图和按钮的简单垂直布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="I am a TextView" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="I am a Button" /> </LinearLayout>
在应用中加载布局资源时,Android 会将布局的每个节点初始化为运行时对象,供开发者定义其它行为、查询对象状态或修改布局
有关创建 UI 布局的完整指南,我们会在后面的章节中详细介绍
User Interface Components (用户界面控件)
基本上,哦,不,是几乎每机会使用 View 和 ViewGroup 对象构建所有 UI
因为 Android 提供了几个带有标准 UI 布局的应用组件,我们只需定义内容
这些 UI 组件均拥有一组唯一的 API,具体描述可参阅相应的文档,如添加应用栏、对话框和状态通知