第二章 Android 简单界面开发

Preview:

DESCRIPTION

第二章 Android 简单界面开发. 倚动软件工厂实验室. 目录 CONTENTS. 1. View 组件介绍. 2. 布局管理器. 3. 自定义组件. 主要内容. Android 应用界面编程. View 组件简介: Android 应用的所有 UI 组件都继承了 View 类,它代表一个空白的矩形区域。绝大部分 UI 都放在 Android.widget 包及其子包、 Android.view 包及其子包中。 View 类还有一个重要子类: ViewGroup ,但通常作为其他组件的 容器 使用。 - PowerPoint PPT Presentation

Citation preview

第二章Android 简单界面开发

倚动软件工厂实验室

www.themegallery.com

11

22

33

View 组件介绍

布局管理器

自定义组件

目录 CONTENTS

www.themegallery.com

主要内容

View ViewGroup

文本显示框(TextView) 文本编辑框

(EditText)

按钮(Button)

线性布局

绝对布局

表格布局

相对布局 层布局

…自定义组件

其他布局

www.themegallery.com

Android 应用界面编程 View 组件简介:

Android 应用的所有 UI 组件都继承了 View 类,它代表一个空白的矩形区域。绝大部分 UI 都放在 Android.widget 包及其子包、Android.view 包及其子包中。

View 类还有一个重要子类: ViewGroup ,但通常作为其他组件的容器使用。

Android 所有 UI 组件都是建立在 View、 ViewGroup 基础之上, Android 采用了“组合器”设计模式来设计 View和ViewGroup, ViewGroup是 View 的子类,因此可被当成View 使用。

对一个 Android 应用的图形用户界面来说, ViewGroup 作为容器来盛装其他组件,而 ViewGroup 里除了可以包含普通 View组件之外,还可以再次包含 ViewGroup 组件。

1

www.themegallery.com

Android 应用界面编程

ViewGroup 组件的层次结构

www.themegallery.com

Android 应用界面编程

TextView 组件的主要功能是用于显示文本,实际上这种控件主要就是提供了一个标签的显示操作。

下面是定义文本框显示组件的代码:

<1> 文本显示组件 TextView :

www.themegallery.com

Android 应用界面编程 在 Android 中所有组件可以设置大小,但是在设置时候需要指定其单位,主要单位有:

px ( 像素 pixels) :一般 HVGA 代表 320*480 像素,这个用的比较多。

dip或 dp (device independent pixels) :设备独立像素。这个和设备硬件有关,一般为了支持 WVGA、 HVGA和 QVGA 推荐使用这个,不依赖像素。

sp (scaled pixels—best for text size) :比例像素,主要处理字体的大小,可以根据系统的字体自适应。

为了适应不同分辨率,不同的像素密度,推荐使用 dip,文字使用 sp。

www.themegallery.com

Android 应用界面编程

文本显示组件( TextView )的功能只是显示一些基础的文字信息,而如果用户要想定义可以输入的文本组件以达到很好的人机交互操作,则只能使用编辑框 EditText 来完成。

android:selectAllOnFocus="true" 默认选中,并设为焦点

android:password ="true"

android:numeric="integer "

密文形式显示文本

只能输入数字

<2> 编辑框 EditText :

www.themegallery.com

Android 应用界面编程

按钮在人机交互界面中使用得最为广泛,当系统提示用户进行选择的时候,就可以通过按钮的操作来接收用户的选择。 在 Android 中使用“ <Button>” 组件可以定义出一个显示的按钮,并且可以在按钮上指定相应的显示文字。

注意: Button是 TextView 的子类,是一个特殊的文本。

<3> 按钮组件 Button

www.themegallery.com

Android 应用界面编程

TextView

TextView

Button

EditText

下面我们以一个简单的例子,介绍这三种简单组件一些属性的作用。案例: codes\02\TextViewTest

www.themegallery.com

Android 应用界面编程布局管理器

线性布局由 LinearLayout类来代表,它会将容器里的组件一个挨一个地排列起来。 LinearLayout不仅可以控制各组件横向排列,还可控制各组件纵向排列。 线性布局与 AWT中 FlowLayout 的最大区别在于:前者不会换行,当组件一个挨着一个地排列到头之后,剩下的组件将不会被显示出来;后者则会另起一行来排列多出来的组件,而LinearLayout 必须通过添加 ScrollView 控件显示多余的组件。 android:gravity 设置组件的对齐方式,多个属性值之间用竖线隔开,但竖线前后千万不能出现空格。 android:orientation 设置组件的排列方式:水平、垂直排列。

2

(1) 线性布局

www.themegallery.com

Android 应用界面编程 将 android:orientation 属性由 vertical 改为 horizontal ,则由垂直线性布局变为水平线性布局,两种情况运行结果如下:

如果一排或一列放不下时,如何显示?

www.themegallery.com

Android 应用界面编程

表格布局是采用表格的形式对控件的布局进行管理的。在 TableLayout布局管理器中,要使用 TableRow进行表格行的控制,之后所有的组件要在 TableRow中增加。TableLayout并不需要明确地声明包含多少行、多少列,而是通过添加TableRow、其他组件来控制表格的行数和列数。

表格布局中的常见属性:android:collapseColumns:隐藏指定的列,其值为列所在的序号;android:shrinkColumns:收缩指定的列以适合父容器。 android:stretchColumns:把指定的列填充空白部分。 android:layout_column:用于说明组件在 TableRow中所处的列。 android:layout_span:该组件所跨越的列数。

( 2 )表格布局

www.themegallery.com

Android 应用界面编程

相对布局( RelativeLayout)管理器指的是通过控制,将组件摆放在一个指定参考组件的上、下、左、右等位置,这些效果可以直接通过各个组件提供的属性完成。

功能:以一组件为中心,将其它组件分布在该组件的四周,形成“梅花布局” 。

案例: codes/ 01 /RelativeTest

( 3 )相对布局

www.themegallery.com

Android 应用界面编程

codes\02\Calculate

( 4 )布局管理器嵌套:在使用布局管理器进

行组件布局的时候,可以将各个布局管理器嵌套在一起使用。案例: codes\02\Calculate

在使用布局管理器进行组件布局的时候,可以将各个布局管理器嵌套在一起使用。案例: codes\02\Calculate

codes\02\Calculate

在使用布局管理器进行组件布局的时候,可以将各个布局管理器嵌套在一起使用。案例: codes\02\Calculate

www.themegallery.com

Android 应用界面编程3 开发自定义 View

Android 中所有的界面组件都是继承于 View 类, View 本身仅仅是一块空白的矩形区域,不同的界面组件在这个矩形区域上绘制外观即可形成风格迥异的组件。基于上述原理,开发者完全可以通过继承 View 类来创建具有自己风格的组件。

www.themegallery.com