Android中的脑残设计

原创 2012年03月24日 22:17:49

Trackball轨迹球

这有点类似于PC上面的鼠标,可以用于导航,为此便有了Focus,但是这实际操作意义并不大,因为整个屏幕都是触控的,还用导航干什么,先把Focus用Trackball移动到某个控件再去点击这不是多此一举吗?而且这个Focus十分难以控制,给开发者添加了无尽的烦恼,所以轨迹球是脑残的设计,所以现在Android的设备已经进化的都去掉了轨迹球了。当初为何加入这个东西呢?我猜因为Android的原始设计是一直带有键盘的,或者是为了非触控屏幕准备的,如果有非触控,用一个类似鼠标的灵活球来移动屏幕Focus还是十分方便的。但由于受到了iPhone的刺激,屏幕都是触控的了,这个球自然成了多余的东西,在走近死亡。

关于Focus

这是继承了PC了风格,是为了非触控屏幕而设计的,以告知用户现在在操作什么地方,同样对于全屏触摸来讲,这也有些多余。
另外就是长按事件的Focus,ICS的做法是用纯色来把所点击的区域填充,这十分脑残,因为会影响显示效果,会让用户看不清内容。还是iOS比较舒服,通常很多控件并不响应长按,它是把所点击的东西放大,并用动画来过度,这看起来比单纯的用纯色来填充要好的多。而且,iOS长按事件通常是用作一些显示位置上的操作,并不会弹出菜单。
另外就是Android中的长按通常都会唤出一个菜单,也就是说长按时的Focus仅是一个临时的显示,但有些时候会长期的显示,直到按了BACK或HOME,这时就有影响了。

关于控件对事件的响应对用户体验的影响要大于这些事件的临时状态(Focus时或Press时),因为用户通过点击来触发事件,最希望的是事件早些发生,如点了“保存”应该是保存事件顺利的快速的完成。所以这要依赖于开发者,处理好事件的响应,不要阻塞事件回调,否则就很难看,也很难用。


ActionBar

Android从最初有全键盘,到后来有几个硬键,再到ICS的虚拟硬键,可谓是变化很多,也引入ActionBar这个虚拟硬键。这是一个好趋势,因为虚拟的点起来要省力的多。但是为什么要在屏幕的上下都要有呢?这会减少屏幕的可用空间的。至于为什么不全放在上面,我想是怕被人嘲笑在抄袭iOS吧!但是这个ActionBar确实与iOS有几分相似之处,而且与2.3以前的版本相差甚大,并且Landscape时就都跑到上面去了,都放在上面不更一至吗?


Home Widget

这是一个中看不中用的东西,至于中不中看还要看开发的水平。特别是有关显示时间的Widget,是最没用的一个了,试问:当你看到Home时,你还用看Widget来看时间吗?StatusBar始终都在显示时间啊!最可气的一个是默认的时钟Widget,在默认的背景时你能看清吗?Widget的真正用意更像Windows的Gadget,也就是让你更加方便的进行某些操作(收信,新闻等),也就是某个应用的缩略版,但是总体讲Widget好用与否全在于开发者的水平,如果设计的不好反尔适得其反!

其实,Android搞了这么复杂的Widget全不如iOS的活体Icon用的好,比如iCalendar应用的Icon,能显示当前日期,这一个Icon胜过所有的Android日期Widget。它简洁,方便,适用,刚刚恰到好处。


Home的Landscape

这个在以前的版本默认都是不支持的,ICS突然有了Lanscape,但是看看转屏后发生了什么?Google赖以为生的搜索框竟然变得那么丑?怪不得乔布斯骂施密特没品味!看了这个就知道。

转屏动画

过了这么久,终于在ICS上面有了,还是相当不错的。至于为什么这么晚才有,是因为WindowManager等相关的系统架构不是很好加入这些东西,为什么呢?因为最初Android的设计是不会转屏的!


Landscape下的输入

这个是最脑残的一个,Landscape时输入法会占据整个屏幕,以至于用户使用的时候非常不方便,你都不知道你在录入哪个框?而在Portrait时由于屏幕太窄,输入法的按扭都会变得的特别小,很容易点错。我想这里的原因应该是屏幕比例失衡导致的!

说到屏幕比例失衡,手机还好,Android的平板和屏幕比例真的是太脑残了,16:9的比例除了看高清电影外其他的事情都引起不便:看书不方便,看网页不方便,看电影仅是用平板的一个很小的需求,还有更多的比如邮件,信息,上网,读书,游戏等等。而16:9的屏幕就像拿着一块长长的板砖,完全没有了感觉,最重要的是很多内容(书籍,网页等)与其屏幕比例根本没有适配,所以看的时候非常不舒服,特别是看PDF的书籍时。而iPad的4:3的比例就很好,跟纸质书籍的比例很像,横着竖着看起来都舒服!我最喜欢的就是用iPad来读PDF书籍,跟读纸质书籍没有区别,感觉很好!


短信列表

这个也够脑残的,这个页面有多丑就先不说了,就说为什么在每条信息的边上都要放置联系人联系人头像呢?每个对话的联系人只有发信人和收信人,也就是说对于一个对话中的所有消息来讲这些联系人是不变的,既然不变为什么要重复显示呢?这不但会增加内存消耗,也会影响加载速度和操作的流畅度。更加令人难以理解的是,对于发出去的信息,如果点击联人头像,屏幕会先黑一下,然后弹出”无此联系人!“。因为,对于发出去的信息的联系人应该对应于People应用中的Me,所以如果不设置Me的相关信息就会显示”无此联系人“,至于为什么屏幕会先黑一下,是因为它要显示一个Activity的对话框,此Activity会检查联系人是否存在(是否有联系人信息),如果没有则弹消息”无此联系人“。


一些明显的Bug

进入People点击联系人Icon,会出现QuickContact,点击Message会进入发信页,此时按Home,再进入People,此时如果点击联系人Icon,QuickContact会出现在Mms的上面。此系发Intent唤起Mms时没有加NEW_TASK的Flag所致。
还有就是新联系人时会在号码中自动插入空格或-等分隔符,但是当在Mms中选择了此联系人后,在发送时竟然提示联系人非法!WTF,原因是Mms中在发信前检查时只认全数字的号码,但是这个判断用的是系统的API(isWellFormedPhoneNumber)!
这些都是由于所做的修改不一致造成的,也就是在联系人中修改,但是其他地方没有同步到!

类似的问题还有很多,很多,去问问那些维护Android的人就知道了(厂商的程序猿和解决方案的程序猿)。


不晓得这是Bug,还是Android的特色!只是,可苦逼了出货的厂商,更苦逼了Android系统提供商(也就是专作解决方案的,如联发科),另外,Android每次升级,最痛苦的也都是这些人!每次升级都要进行大量的Merge和Bugfix工作,相当的苦逼,这些人都被Google Android的升级给拖住了,所以如果Android升级过快,将会拖死这些人!而这些人被拖住,用户自然不能在第一时间得到升级,所以你看ICS出来已经快半年了,但能升级的设备有几个!Google想办法能跟厂商站在同一战线上,让每次升级都能方便快捷的与厂商进行整合,快速释放出升级包让用户得以升级,这样才能赢得更多的用户!不过感觉Android的发展也就这样了,因为碎片化已经失控,现在各个厂商各自为政,要么把Android深度定制,之后就不再叫Android了,要么多管齐下,各种平台齐发力。而且每个厂商都在试图建立自己的生态系统,所以Android想达到iOS那样的地步可能性几乎为零!

相关文章推荐

Android SurviceView的触控和轨迹球事件

SurfaceView 的触控和轨迹球事件 1,改开始什么也没有,当第一点击的时候,图标会出现在那个地方,然后点击其它地方,图标会在触控的地方显示 2,拖着图标移动,到鼠标事件UP的地方绘画停...

Android中的脑残设计---------查找trackball时找到的文章

Trackball轨迹球 这有点类似于PC上面的鼠标,可以用于导航,为此便有了Focus,但是这实际操作意义并不大,因为整个屏幕都是触控的,还用导航干什么,先把Focus用Trackball移动...

Android对触摸屏、键盘、轨迹球事件的响应过程

最近做一个触摸屏驱动,了解一下Android对触摸屏、键盘、轨迹球事件的响应过程是必须了,在网上查了资料,再结合自身学习体会,对此做点总结。理解不到位的地方,还望赐教!事件的传入是从EventHub开...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Android之Monkey全参数(包含隐藏参数)

Category Option Description General --help Prints a simple usage guide. -v Each -v on the comman...

Android系统级深入开发输入系统

用户输入系统 8.1  用户输入系统结构和移植内容     Android中,用户输入系统的结构相对简单,主要的输入硬件设备是键盘、触摸屏、轨迹球等。 在Android的上层中,可以...

Android Accessibility(辅助功能) --实现Android应用自动安装、卸载

辅助服务

Android入门:用HttpClient模拟HTTP的GET和POST请求

一、HttpClient介绍 HttpClient是用来模拟HTTP请求的,其实实质就是把HTTP请求模拟后发给Web服务器; Android已经集成了HttpClient,因此可...
  • xiazdong
  • xiazdong
  • 2012年07月07日 12:43
  • 17032

Android快速开发框架LoonAndroid

http://pan.baidu.com/s/1i3KKe4d

等差区间(写的很脑残)——中国(北方)大学生程序设计训练赛(第一周)F

[等差区间][z]Description 已知一个长度为 n 的数组 a[1],a[2],…,a[n],我们进行 q 次询问,每次询问区间 a[l],a[l+1],…,a[r−1],a[r]...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android中的脑残设计
举报原因:
原因补充:

(最多只允许输入30个字)