170 likes | 398 Views
第二章 Android 简单界面开发. 倚动软件工厂实验室. 目录 CONTENTS. 1. View 组件介绍. 2. 布局管理器. 3. 自定义组件. 主要内容. Android 应用界面编程. View 组件简介: Android 应用的所有 UI 组件都继承了 View 类,它代表一个空白的矩形区域。绝大部分 UI 都放在 Android.widget 包及其子包、 Android.view 包及其子包中。 View 类还有一个重要子类: ViewGroup ,但通常作为其他组件的 容器 使用。
E N D
第二章 Android简单界面开发 倚动软件工厂实验室
目录CONTENTS 1 View组件介绍 2 布局管理器 3 自定义组件
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
Android应用界面编程 ViewGroup组件的层次结构
Android应用界面编程 TextView组件的主要功能是用于显示文本,实际上这种控件主要就是提供了一个标签的显示操作。 <1>文本显示组件TextView: 下面是定义文本框显示组件的代码:
Android应用界面编程 • 在Android中所有组件可以设置大小,但是在设置时候需要指定其单位,主要单位有: • px (像素pixels):一般HVGA代表320*480像素,这个用的比较多。 • dip或dp (device independent pixels):设备独立像素。这个和设备硬件有关,一般为了支持WVGA、HVGA和QVGA推荐使用这个,不依赖像素。 • sp (scaled pixels—best for text size):比例像素,主要处理字体的大小,可以根据系统的字体自适应。 • 为了适应不同分辨率,不同的像素密度,推荐使用dip,文字使用sp。
Android应用界面编程 文本显示组件(TextView)的功能只是显示一些基础的文字信息,而如果用户要想定义可以输入的文本组件以达到很好的人机交互操作,则只能使用编辑框EditText来完成。 <2>编辑框EditText: android:selectAllOnFocus="true" 默认选中,并设为焦点 android:password ="true" 密文形式显示文本 只能输入数字 android:numeric="integer "
Android应用界面编程 <3>按钮组件Button • 按钮在人机交互界面中使用得最为广泛,当系统提示用户进行选择的时候,就可以通过按钮的操作来接收用户的选择。 • 在Android中使用“<Button>”组件可以定义出一个显示的按钮,并且可以在按钮上指定相应的显示文字。 • 注意:Button是TextView的子类,是一个特殊的文本。
Android应用界面编程 下面我们以一个简单的例子,介绍这三种简单组件一些属性的作用。案例:codes\02\TextViewTest
Android应用界面编程 2 布局管理器 (1)线性布局 • 线性布局由LinearLayout类来代表,它会将容器里的组件一个挨一个地排列起来。LinearLayout不仅可以控制各组件横向排列,还可控制各组件纵向排列。 • 线性布局与AWT中FlowLayout的最大区别在于:前者不会换行,当组件一个挨着一个地排列到头之后,剩下的组件将不会被显示出来;后者则会另起一行来排列多出来的组件,而LinearLayout必须通过添加ScrollView控件显示多余的组件。 • android:gravity设置组件的对齐方式,多个属性值之间用竖线隔开,但竖线前后千万不能出现空格。 • android:orientation设置组件的排列方式:水平、垂直排列。
Android应用界面编程 将android:orientation属性由vertical改为horizontal,则由垂直线性布局变为水平线性布局,两种情况运行结果如下: 如果一排或一列放不下时, 如何显示?
Android应用界面编程 (2)表格布局 • 表格布局是采用表格的形式对控件的布局进行管理的。 • 在TableLayout布局管理器中,要使用TableRow进行表格行的控制,之后所有的组件要在TableRow中增加。 • TableLayout并不需要明确地声明包含多少行、多少列,而是通过添加TableRow、其他组件来控制表格的行数和列数。 表格布局中的常见属性: android:collapseColumns:隐藏指定的列,其值为列所在的序号; android:shrinkColumns:收缩指定的列以适合父容器。 android:stretchColumns:把指定的列填充空白部分。android:layout_column:用于说明组件在TableRow中所处的列。android:layout_span:该组件所跨越的列数。
Android应用界面编程 (3)相对布局 相对布局(RelativeLayout)管理器指的是通过控制,将组件摆放在一个指定参考组件的上、下、左、右等位置,这些效果可以直接通过各个组件提供的属性完成。 案例:codes/ 01 /RelativeTest 功能:以一组件为中心,将其它组件分布在该组件的四周,形成“梅花布局”。
Android应用界面编程 (4)布局管理器嵌套: codes\02\Calculate codes\02\Calculate 在使用布局管理器进行组件布局的时候,可以将各个布局管理器嵌套在一起使用。 在使用布局管理器进行组件布局的时候,可以将各个布局管理器嵌套在一起使用。 在使用布局管理器进行组件布局的时候,可以将各个布局管理器嵌套在一起使用。 案例:codes\02\Calculate 案例:codes\02\Calculate 案例:codes\02\Calculate
Android应用界面编程 开发自定义View 3 • Android中所有的界面组件都是继承于View类,View本身仅仅是一块空白的矩形区域,不同的界面组件在这个矩形区域上绘制外观即可形成风格迥异的组件。 • 基于上述原理,开发者完全可以通过继承View类来创建具有自己风格的组件。