手机GUI之瞎想——桌面浏览器(一)
来源:互联网 发布:windows找不到gpedit 编辑:程序博客网 时间:2024/05/01 05:58
鉴于MTK的友好开发帮助,目前的手机开发越来越简单,搞英语培训的,说相声的,估计没准多久,开饭店的,卖烧饼的是不是也要开始卖手机了?(勿扔臭鸭蛋)
以上是该文引子,却引得东南西北不着调,让人汗颜,闲话短说,开始今天的正文。
目前手机的屏幕主要还是以TFT为主,当然每家生产商都会有自己独特的设计来改善可视角度,颜色等,目前嵌入式所用TFT LCD无外乎以下2种:一是集成控制器,对外提供MCU 6800(现在基本绝种了),8080,SPI等接口;二是未集成控制器的RGB模拟屏幕,基本上800*480 16bit(RGB 565)的要30M的刷屏速度来保证显示效果。当然还有其他如LVDS等接口 LCD端还得添加控制器,如果是做产品,刷屏30M的速度,而且需要很长的FFC来扩展连接RGB屏幕时,注意控制传输线的阻抗,不然RE测试会死得很惨,因为30M的速度,其中90M 150M 210M等频点的能量不可小觑,很容易超标(当线很长的时候),以前就是有一个case出现了这个问题,搞得身心俱疲,最后还是通过屏蔽的方法解决(个人觉得屏蔽是解决RE问题的最差方法,最好的方法就是切断干扰源)。
TFT刷屏实际就是对 内存的操作,即每次操作屏幕就是改写缓存的过程,然而一个管理方便的GUI 软件 则显得尤为重要,以下都是基于对小米2(本人目前手机)的操作,来试着瞎想一下GUI的管理。
手机的动作操作主要由以下几种:
(1)电容式触摸屏,每次动作,应该会设计到一系列的电容触摸算法,从而精确或大概准确的得到一个屏幕位置值,反馈给GUI管理控件,当然,本人对电容式触摸算法没研究过,这里就当一个黑盒,一点击就反馈得到一个位置值(X1,Y1)
(2)实体按键,音量大小键,电源实体按键,动作可能有短击,长击(貌似没有更复杂的动作了)
(3)电容触摸按键,反馈按键总类,菜单,home,返回
手机GUI的灵魂——桌面浏览器(可能是废话,目前桌面级操作系统这个也是灵魂,)
拿着手机左搞搞,又搞搞的,看了很多次,总结以下手机桌面所包含的东西(可能会遗漏)
(1)壁纸,其实也就是背景色,为了花哨的目的,手机干脆取消了背景色,取而代之的是壁纸,当然如果手机分辨率是1280*720的话,壁纸的分辨率应该要大于这个,目的是为了看后面。
(2)分页,存在的目的就是应用图标太多了,存不下了,所以采用分页来管理,当然不同页的时候显示的壁纸内容不太一样,给人感觉切换分页像是从香港跑到了台湾。(一切还是为了手机体验)
(3)图标,图标分为2类,第1类是固定的下面有4个常用图标,第2类是根据不同的页显示不同的功能图标
(4)文件夹,存在的目的就是分页太多了,自己都找不清图标放在哪个地方了,所以弄了这么个东西,一般都会把功能图标放置在文件夹内,当然也可以具体放文件
以下没有考究过,权当看小说,全是自己的想象
壁纸大小上面已经说过,大于LCD分辨率,如果手机1280*720的话,手机壁纸可能1280*1440,跟据多少页 来显示当前壁纸,比如说有4页,可以这么显示
第一页 1280*(0-720),第二页 1280*(240-960),第三页 1280*(480-1200),第四页 1280*(720-1440)
所以每次的步进就是720/N(N为分页的数量),为了体验效果,可以将背景壁纸分成4个1280*720图片,空间换时间。
分页,由于手机上的图标都是大小一样的,像小米2手机,每个页面上有20个图标位置(4个固定图标+16个功能图标位置),当新页被创建以后,桌面系统会从内存开辟存储空间,初始化为零,等待图标的填入(系统中应该是注册图标功能函数,插入当前页功能图标链表),同时将信息存入Flash(也可能是关机的时候存入用户当前信息)
图标有2类,一类是功能图标,触摸点击后的动作就是执行 播放函数,显示功能背景,等待载入(不同应用程序不同功能,播放类,基本就是显示上次播放列表,游戏就开始运行。。。。);
文件夹,另一类是文件夹,此时点开后显示不同窗口(根据内部文件多少),背景虚化,窗口背景变成黑色,这个应该跟页面的管理类似
- 手机GUI之瞎想——桌面浏览器(一)
- 手机浏览器UA测试(一)
- 系统之雕虫小技(一)——键盘、鼠标、显示器、桌面
- Android桌面组件开发之桌面快捷方式(一)
- unity3d之自带GUI (一)
- matlab之GUI练习(一)
- Java之GUI编程(一)
- Java之GUI编程(一)
- python之GUI编程(一)
- JAVA - 学习之GUI练习(一)
- Java学习心得之GUI编程(一)
- Python GUI之tkinter 实战(一)
- GUI 剖析之 获取桌面位图的实现(屏保应用)
- NetBeans网络开发教程I—构建GUI(一)
- Python GUI 之 TKinter(一)
- 手机、桌面和浏览器应用程序开发的差异
- 搜狗手机浏览器测试管理方法(一)
- 手机浏览器与我的那些事(一)
- 德政府:用 Linux 就是场灾难 远不如 Windows
- XP下OpenProcess(ALL_ACCESS,...)
- socket 编程入门 setsockopt配置socket选项
- 【2-sat】 HDOJ 1815 Building roads
- 自适应网页设计(Responsive Web Design)
- 手机GUI之瞎想——桌面浏览器(一)
- iOS storyBoard全解析
- Transform – iOS视图几何变换
- mono加载本地html
- 软件工程师获得足够尊重了吗?
- android 屏幕常亮代码
- 深入理解Java中的final关键字
- 停不下来的斗士——访福建永荣控股集团总裁吴华新
- Git使用