1 / 36
文档名称:

Android教程03-AndroidUI程序设计.ppt

格式:ppt   页数:36页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Android教程03-AndroidUI程序设计.ppt

上传人:xwhan305 2015/4/15 文件大小:0 KB

下载得到文件列表

Android教程03-AndroidUI程序设计.ppt

文档介绍

文档介绍:第三章 UI设计
智能手机开发
.
倪红军
设计手机用户界面应解决的问题
需要界面设计与程序逻辑完全分离,这样不仅有利于并行开发,而且在后期修改界面时,也不用再次修改程序的逻辑代码
根据不同型号手机的屏幕解析度、尺寸和纵横比各不相同,自动调整界面上部分控件的位置和尺寸,避免因为屏幕信息的变化而出现显示错误
能够合理利用较小的屏幕显示空间,构造出符合人机交互规律的用户界面,避免出现凌乱、拥挤的用户界面
Android已经解决了前两个问题,使用XML文件描述用户界面;资源资源文件独立保存在资源文件夹中;对界用户面描述非常灵活,允许不明确定义界面元素的位置和尺寸,仅声明界面元素的相对位置和粗略尺寸
Android UI设计概述
Android用户界面框架
Android用户界面框架(Android UI Framework)采用MVC(Model-View-Controller)模型
提供了处理用户输入的控制器(Controller)
显示用户界面和图像的视图(View),以及保存数据和代码的模型(Model)
Android用户界面框架
MVC模型
MVC模型中的控制器能够接受并响应程序的外部动作,如按键动作或触摸屏动作等
控制器使用队列处理外部动作,每个外部动作作为一个对立的事件被加入队列中,然后Android用户界面框架按照“先进先出”的规则从队列中获取事件,并将这个事件分配给所对应的事件处理函数
Android用户界面框架
采用视图树(View Tree)模型
Android用户界面框架中的界面元素以一种树型结构组织在一起,称为视图树
Android系统会依据视图树的结构从上至下绘制每一个界面元素。每个元素负责对自身的绘制,如果元素包含子元素,该元素会通知其下所有子元素进行绘制
在一个Android应用中,用户界面是由View 和ViewGroup对象构建的。View与ViewGroup都有很多种类,而它们都是View类的子类。
View对象是Android平台中用户界面体现的基础单位。
在Android平台上,你可以用右图所示的View和ViewGroup层次图来定义一个Activity的UI。
Android用户界面框架
视图树
视图树由View和ViewGroup构成
View是界面的最基本的可视单元,存储了屏幕上特定矩形区域内所显示内容的数据结构,并能够实现所占据区域的界面绘制、焦点变化、用户输入和界面事件处理等功能
View也是一个重要的基类,所有在界面上的可见元素都是View的子类
ViewGroup是一种能够承载含多个View的显示单元
ViewGroup功能:一个是承载界面布局,另一个是承载具有原子特性的重构模块
Android UI设计中常用类

1)为指定的屏幕矩形区域存储布局和内容
2)处理尺寸和布局,绘制,焦点改变,翻屏,按键、手势
3)widget 基类

1)包含并管理下级系列的 Views 和其他Viewgroup
2)布局的基类
在Android程序中,用户界面是用View和ViewGroup对象来建立的。有许多种View和ViewGroup的,每一种都View的子类。
View是Android平台中最基本的用户界面单元。View类是“小组件”子类的基础,“小组件”提供UI对象的完整实现,例如文本输入框和按钮。ViewGroup类是“布局”子类的基础,“布局”提供不同的布局结构。例如线性布局,标签布局,相关性布局等等。
声明式UI设计方法
Android使用Layout配置文件通过配置文件中声明控件及定义控件属性的方法来配置一个应用程序UI
<LinearLayout xmlns:android="http://schemas./apk/res/android"
android:orientation="vertical"
android:background="***@drawable/blue"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:background="***@drawable/box"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="***@string/linear_layout_1_top"/>
<TextView ……/>
<TextView ……/>
</Lin