欢迎来到天天文库
浏览记录
ID:41354151
大小:2.00 MB
页数:146页
时间:2019-08-22
《第5章Android用户界面》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第5章Android用户界面本章学习目标了解各种用户界面的控件的使用方法掌握各种界面布局的特点和使用方法掌握选项菜单、子菜单和快捷菜单的使用方法掌握按键事件和触摸事件的处理方法5.1用户界面基础用户界面(UserInterface,UI)是系统和用户之间进行信息交换的媒介,实现信息的内部形式与人类可以接受形式之间的转换在计算机出现早期,批处理界面(1945-1968)和命令行界面(1969-1983)得到广泛的使用目前,流行图像用户界面(GraphicalUserInterface,GUI),采
2、用图形方式与用户进行交互的界面未来的用户界面将更多的运用虚拟现实技术,使用户能够摆脱键盘与鼠标的交互方式,而通过动作、语言,甚至是脑电波来控制计算机5.1用户界面基础设计手机用户界面应解决的问题需要界面设计与程序逻辑完全分离,这样不仅有利于他们的并行开发,而且在后期修改界面时,也不用再次修改程序的逻辑代码根据不同型号手机的屏幕解析度、尺寸和纵横比各不相同,自动调整界面上部分控件的位置和尺寸,避免因为屏幕信息的变化而出现显示错误能够合理利用较小的屏幕显示空间,构造出符合人机交互规律的用户界面,避免
3、出现凌乱、拥挤的用户界面Android已经解决了前两个问题,使用XML文件描述用户界面;资源资源文件独立保存在资源文件夹中;对界用户面描述非常灵活,允许不明确定义界面元素的位置和尺寸,仅声明界面元素的相对位置和粗略尺寸5.1用户界面基础Android用户界面框架Android用户界面框架(AndroidUIFramework)采用MVC(Model-View-Controller)模型提供了处理用户输入的控制器(Controller)显示用户界面和图像的视图(View),以及保存数据和代码的模型
4、(Model)5.1用户界面基础Android用户界面框架MVC模型MVC模型中的控制器能够接受并响应程序的外部动作,如按键动作或触摸屏动作等控制器使用队列处理外部动作,每个外部动作作为一个对立的事件被加入队列中,然后Android用户界面框架按照“先进先出”的规则从队列中获取事件,并将这个事件分配给所对应的事件处理函数5.1用户界面基础Android用户界面框架Android用户界面框架(AndroidUIFramework)采用视图树(ViewTree)模型Android用户界面框架中的界面
5、元素以一种树型结构组织在一起,称为视图树Android系统会依据视图树的结构从上至下绘制每一个界面元素。每个元素负责对自身的绘制,如果元素包含子元素,该元素会通知其下所有子元素进行绘制5.1用户界面基础Android用户界面框架视图树视图树由View和ViewGroup构成View是界面的最基本的可视单元,存储了屏幕上特定矩形区域内所显示内容的数据结构,并能够实现所占据区域的界面绘制、焦点变化、用户输入和界面事件处理等功能View也是一个重要的基类,所有在界面上的可见元素都是View的子类Vie
6、wGroup是一种能够承载含多个View的显示单元ViewGroup功能:一个是承载界面布局,另一个是承载具有原子特性的重构模块5.1用户界面基础Android用户界面框架单线程用户界面在单线程用户界面中,控制器从队列中获取事件和视图在屏幕上绘制用户界面,使用的都是同一个线程特点:处理函数具有顺序性,能够降低应用程序的复杂程度,同时也能减低开发的难度缺点:如果事件处理函数过于复杂,可能会导致用户界面失去响应5.2界面控件Android系统的界面控件分为定制控件和系统控件定制控件是用户独立开发的控
7、件,或通过继承并修改系统控件后所产生的新控件。能够为用户提供特殊的功能或与众不同的显示需求方式系统控件是Android系统提供给用户已经封装的界面控件。提供在应用程序开发过程中常见功能控件。系统控件更有利于帮助用户进行快速开发,同时能够使Android系统中应用程序的界面保持一致性常见的系统控件包括TextView、EditText、Button、ImageButton、Checkbox、RadioButton、Spinner、ListView和TabHost5.2界面控件5.2.1TextVi
8、ew和EditTextTextView是一种用于显示字符串的控件EditText则是用来输入和编辑字符串的控件EditText是一个具有编辑功能的TextView5.2界面控件5.2.1TextView和EditText建立一个“TextViewDemo”的程序,包含TextView和EditText两个控件上方“用户名”部分使用的是TextView,下方的文字输入框使用的是EditText5.2界面控件5.2.1TextView和EditTextTextViewDemo在XML文件中的代码
此文档下载收益归作者所有