笔记:Android用户界面 -- (一)

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

 

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

 

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

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

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

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


Android用户界面框架

 

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

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

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




Android用户界面框架

MVC模型

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

 

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



Android用户界面框架

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

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

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

 

Android用户界面框架

视图树

视图树由ViewViewGroup构成

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

 

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

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

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

 

ndroid用户界面框架

单线程用户界面

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

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

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



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值