返回顶部
首页 > 资讯 > 移动开发 >Android中的脑残设计总结
  • 445
分享到

Android中的脑残设计总结

Android 2022-06-06 10:06:45 445人浏览 安东尼
摘要

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

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那样的地步可能性几乎为零!


--结束END--

本文标题: Android中的脑残设计总结

本文链接: https://lsjlt.com/news/27772.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Android中的脑残设计总结
    Trackball轨迹球 这有点类似于PC上面的鼠标,可以用于导航,为此便有了Focus,但是这实际操作意义并不大,因为整个屏幕都是触控的,还用导航干什么,先把Focus用Tr...
    99+
    2022-06-06
    Android
  • MySQL中的常用树形结构设计总结
    目录常用树形结构设计总结1. 递归表2.路径枚举3.数据与关系分开存mysql树形结构(多级菜单)查询设计方案三级查询(层级固定,层级数少)多级查询(层级不固定/层级很深)总结常用树形结构设计总结 开发中,经常会遇到树形...
    99+
    2023-03-03
    MySQL树形结构 常用树形结构 树形结构设计
  • 一文总结JavaScript中常见的设计模式
    目录设计原则什么是设计模式一、单例模式二、策略模式三、代理模式四、迭代器模式五、发布-订阅模式六、命令模式七、组合模式八、模板方法模式九、享元模式十、职责链模式十一、中介者模式十二、...
    99+
    2023-05-19
    JavaScript设计模式 JavaScript设计
  • Android中获取设备的各种信息总结
    一、屏幕分辨率 Display display = getWindowManager().getDefaultDisplay(); Point size = new Poin...
    99+
    2022-06-06
    Android
  • Java常见设计模式总结
     一、设计模式总述: 1、什么是设计模式:         设计模式是一套经过反复使用的代码设计经验,目的是为了重用代码、让代码更容易被他人理解、保证代码可靠性。 设计模式于己于人于系统都是多赢的,它使得代码编写真正工程化,它是软件工程的基...
    99+
    2023-09-04
    java 设计模式 面试 软件设计 软件架构
  • Redis 键值设计使用总结
    目录前言Redis使用中不规范的现象Redis 使用业务场景推荐与建议如何设计出优雅的key一、遵循如下几个最佳实践约定二、尽量避免bigkey三、使用恰当的数据类型Redis 缓存在实际应用中的使用建议使用业务规范前言...
    99+
    2023-04-07
    Redis 键值设计 Redis 键值 Redis 键值使用
  • Redis键值设计使用总结
    目录前言Redis使用中不规范的现象Redis 使用业务场景推荐与建议如何设计出优雅的key一、遵循如下几个最佳实践约定二、尽量避免bigkey三、使用恰当的数据类型Redis 缓存...
    99+
    2023-05-14
    Redis 键值设计 Redis 键值 Redis 键值使用
  • Android中的JSON详细总结
    1、JSON(JavaScript ObjectNotation) 定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(...
    99+
    2022-06-06
    JSON Android
  • Android中Service的全面总结
    全面总结Android Service的使用方法,具体内容如下1、Service的种类按运行地点分类:其实remote服务还是很少见的,并且一般都是系统服务。按运行类型分类:有同学可能会问,后台服务我们可以自己创建 ONGOING 的 No...
    99+
    2023-05-31
    android service roi
  • 自己总结的数据库设计规范
    总体方向思维1.数据架构和容量规划相关    a.总数据量的预估,一年或两年为期限,直接影响硬盘容量规划    b.是否关联其他数据库和环境,关联...
    99+
    2024-04-02
  • Android应用的Material设计的布局兼容性的一些要点总结
    Define Alternative Styles  定义替代样式 让你的app,使用Material Design的主题运行在支持它的设备上,并在早期版本的设备上可...
    99+
    2022-06-06
    兼容 布局 material 兼容性 Android
  • Android中的事件处理总结
                                                                                           A...
    99+
    2022-06-06
    事件 Android
  • Android中的应用认领总结
    最近公司的一款产品提交国内市场,发现有些国内市场提示需要进行应用认领。原因就是别人(或者市场抓取)已经在我们之前将这个应用提交到了该市场。认领成功后,这个应用就重回你的怀抱了,...
    99+
    2022-06-06
    Android
  • shell 中数学计算总结
    1、错误方法举例 a) var=1+1 echo $var 输出的结果是1+1,悲剧,呵呵 b) var=1 var=$var+1 echo $var 输出结果是1+1,依然悲剧,呵呵 2、正确方法 1)使...
    99+
    2022-06-04
    数学 shell
  • MySQL总结(九)数据库设计-详解
    数据库设计 1.数据规范化 1.1 什么是范式: 好的数据库设计对数据的存储性能和后期的程序开发,都会产生重要的影响。建立科学的,规范的数据库就需要满足一些规则来优化数据的设计和存储,这些规则就称为范式。 1.2 三大范式: 前关系数据库...
    99+
    2017-05-22
    MySQL总结(九)数据库设计-详解
  • 数据库课程设计报告总结
    一、课程设计题目 学生信息管理系统 二、课程设计目的 数据库系统课程设计是为了配合学习数据库系统原理及应用开发而设置的,是将关系数据库理论知识转化为解决实际问题能力的重要环节。数据库系统课程设计目的在...
    99+
    2023-09-17
    数据库 java 服务器 mysql 文档资料
  • Android中Canvas的常用方法总结
    一、对Canvas进行操作 对Canvas的一系列操作,是指对Canvas进行旋转、平移、缩放等操作。 这些操作可以让Canvas对象使用起来更加便捷。 二、Canvas平...
    99+
    2022-06-06
    方法 canvas Android
  • Android中的Activity生命周期总结
    概述 有图有真相,所以先上图: 上图是从Android官网截下的Activity的生命周期流程图,结构非常清晰,它描述了Activity在其生命周期中所有可能发生的情况以及发...
    99+
    2022-06-06
    activity生命周期 activity Android
  • Android中的Service相关全面总结
    1、Service的种类 按运行地点分类: 类别 区别  优点 缺点   应用 本地服务(Local) 该服务依附在主进程上, &nbs...
    99+
    2022-06-06
    service Android
  • Android中Intent机制详解及示例总结(总结篇)
    最近在进行android开发过程中,在将 Intent传递给调用的组件并完成组件的调用时遇到点困难,并且之前对Intent的学习也是一知半解,最近特意为此拿出一些时间,对Int...
    99+
    2022-06-06
    示例 intent Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作