Android应用程序----UI用户界面介绍

用户界面基础

用户界面(User Interface,UI)是系统和用户之间进行信息交换的媒介,实现信息的内部形式与人类可以接受形式之间的转换

在计算机出现早期,批处理界面(1945-1968)和命令行界面(1969-1983)得到广泛的使用

目前,流行图像用户界面(Graphical User Interface,GUI),采用图形方式与用户进行交互的界面

未来的用户界面将更多的运用虚拟现实技术,使用户能够摆脱键盘与鼠标的交互方式,而通过动作、语言,甚至是脑电波来控制计算机。

设计手机用户界面应解决的问题

需要界面设计与程序逻辑完全分离,这样不仅有利于他们的并行开发,而且在后期修改界面时,也不用再次修改程序的逻辑代码

根据不同型号手机的屏幕解析度、尺寸和纵横比各不相同,自动调整界面上部分控件的位置和尺寸,避免因为屏幕信息的变化而出现显示错误

能够合理利用较小的屏幕显示空间,构造出符合人机交互规律的用户界面,避免出现凌乱、拥挤的用户界面

Android已经解决了前两个问题,使用XML文件描述用户界面;资源资源文件独立保存在资源文件夹中;对界用户面描述非常灵活,允许不明确定义界面元素的位置和尺寸,仅声明界面元素的相对位置和粗略尺寸

Android用户界面框架

Android用户界面框架(Android UI Framework)采用MVC(Model-View-Controller)模型

提供了处理用户输入的控制器(Controller)

显示用户界面和图像的视图(View),以及保存数据和代码的模型(Model)

MVC模型

MVC模型中的控制器能够接受并响应程序的外部动作,如按键动作或触摸屏动作等

控制器使用队列处理外部动作,每个外部动作作为一个对立的事件被加入队列中,然后Android用户界面框架按照“先进先出”的规则从队列中获取事件,并将这个事件分配给所对应的事件处理函数

Android用户界面框架

Android用户界面框架(Android UI Framework)采用视图树(View Tree)模型

Android用户界面框架中的界面元素以一种树型结构组织在一起,称为视图树

Android系统会依据视图树的结构从上至下绘制每一个界面元素。每个元素负责对自身的绘制,如果元素包含子元素,该元素会通知其下所有子元素进行绘制

Android用户界面框架

视图树

视图树由View和ViewGroup构成

View是界面的最基本的可视单元,存储了屏幕上特定矩形区域内所显示内容的数据结构,并能够实现所占据区域的界面绘制、焦点变化、用户输入和界面事件处理等功能

View也是一个重要的基类,所有在界面上的可见元素都是View的子类

ViewGroup是一种能够承载含多个View的显示单元

ViewGroup功能:一个是承载界面布局,另一个是承载具有原子特性的重构模块

单线程用户界面

在单线程用户界面中,控制器从队列中获取事件和视图在屏幕上绘制用户界面,使用的都是同一个线程

特点:处理函数具有顺序性,能够降低应用程序的复杂程度,同时也能减低开发的难度

缺点:如果事件处理函数过于复杂,可能会导致用户界面失去响应

(0)

相关推荐

  • 如何设计让用户更快乐的医疗应用程序?

    编辑导读:医疗资源搭上互联网这辆快车,在近几年得到迅速的发展.特别是在疫情期间,人们对于健康的重视使得互联网医疗行业再次水涨船高.作为一名设计师,如何设计一款用户体验更好的医疗App呢?本文作者将从对 ...

  • 优秀的Web前端工程师应该具备这些条件,你都会吗?

    web前端技术是近年来一个新兴职业,是伴随着web兴起而细分进去的行业.web前端技术是由网页制作演变而来的,在互联网的演变进程中不断发展. Web前端教程 近些年,web前端人才的市场需求量持续上涨 ...

  • Android应用程序----UI界面控件(菜单menu)

    菜单是应用程序中非常重要的组成部分,能够在不占用界面空间的前提下,为应用程序提供了统一的功能和设置界面,并为程序开发人员提供了易于使用的编程接口 Android系统支持三种菜单 选项菜单(Option ...

  • Android应用程序----UI界面控件(相对布局,绝对布局)

    相对布局 相对布局(RelativeLayout)是一种非常灵活的布局方式,能够通过指定界面元素与其他元素的相对位置关系,确定界面中所有元素的布局位置 特点:能够最大程度保证在各种屏幕类型的手机上正确 ...

  • Android应用程序----UI界面控件(框架布局,表格布局)

    框架布局(FrameLayout)是最简单的界面布局,是用来存放一个元素的空白空间,且子元素的位置是不能够指定的,只能够放置在空白空间的左上角 如果有多个子元素,后放置的子元素将遮挡先放置的子元素 使 ...

  • Android应用程序----UI界面控件(界面布局小记)

    界面布局 界面布局(Layout)是用户界面结构的描述,定义了界面中所有的元素.结构和相互关系 声明Android程序的界面布局有两种方法 使用XML文件描述界面布局 在程序运行时动态添加或修改界面布 ...

  • Android应用程序----UI界面控件(ListView,TabHost,Tab标签页的使用 ) )

    ListView ListView是一种用于垂直显示的列表控件,如果显示内容过多,则会出现垂直滚动条 ListView能够通过适配器将数据和自身绑定,在有限的屏幕上提供大量内容供用户选择,所以是经常使 ...

  • Android应用程序----UI界面控件(2)CheckBox,RadioButton,Spinner

    Android应用程序----UI界面控件 CheckBox和RadioButton CheckBox是一个同时可以选择多个选项的控件 RadioButton则是仅可以选择一个选项的控件 RadioG ...

  • Android应用程序----UI界面控件

    Android系统的界面控件分为定制控件和系统控件 定制控件是用户独立开发的控件,或通过继承并修改系统控件后所产生的新控件.能够为用户提供特殊的功能或与众不同的显示需求方式 系统控件是Android系 ...

  • Android应用程序----界面事件(按键事件)

    在Android系统中,存在多种界面事件,如点击事件.触摸事件.焦点事件和菜单事件等等 在这些界面事件发生时,Android界面框架调用界面控件的事件处理函数对事件进行处理 按键事件 在MVC模型中, ...

  • Android应用程序----界面事件(触摸事件)

    Android界面框架支持对触摸事件的监听,并能够将触摸事件的详细信息传递给处理函数 需要设置触摸事件的监听器,并重载onTouch ()函数 第1行代码是设置控件的触摸事件监听器 在代码第3行的on ...