我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android中的脑残设计总结

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android中的脑残设计总结

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


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android中的脑残设计总结

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android中的脑残设计总结

Trackball轨迹球 这有点类似于PC上面的鼠标,可以用于导航,为此便有了Focus,但是这实际操作意义并不大,因为整个屏幕都是触控的,还用导航干什么,先把Focus用Trackball移动到某个控件再去点击这不是多此一举吗?而且这个F
2022-06-06

MySQL中的常用树形结构设计总结

目录常用树形结构设计总结1. 递归表2.路径枚举3.数据与关系分开存mysql树形结构(多级菜单)查询设计方案三级查询(层级固定,层级数少)多级查询(层级不固定/层级很深)总结常用树形结构设计总结开发中,经常会遇到树形结构的设计,所谓的树
2023-03-03

Android中获取设备的各种信息总结

一、屏幕分辨率Display display = getWindowManager().getDefaultDisplay(); Point size = new Point(); display.getSize(size); int wi
2022-06-06

一文总结JavaScript中常见的设计模式

在程序设计中有很多实用的设计模式,而其中大部分语言的实现都是基于“类”。在程序设计中有很多实用的设计模式,而其中大部分语言的实现都是基于“类”。,本文将总结了JavaScript中常见的十五种设计模式,感兴趣的朋友可以参考下
2023-05-19

Android中Service的全面总结

全面总结Android Service的使用方法,具体内容如下1、Service的种类按运行地点分类:其实remote服务还是很少见的,并且一般都是系统服务。按运行类型分类:有同学可能会问,后台服务我们可以自己创建 ONGOING 的 No
2023-05-31

Android中的JSON详细总结

1、JSON(JavaScript ObjectNotation) 定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式,获得了当今大部分语言的支持),从而可以在不
2022-06-06

Android中的事件处理总结

Android中的事件处理总结 Android系统对动作做出的响应机制就是事件处理。Android提供了两种事件处理机制。 基于监听的事件处理机制基于回调的事件处理机制 一、基于监听的事件处理机制 Android的事件监听机制就是一种”面向
2022-06-06

Android中的应用认领总结

最近公司的一款产品提交国内市场,发现有些国内市场提示需要进行应用认领。原因就是别人(或者市场抓取)已经在我们之前将这个应用提交到了该市场。认领成功后,这个应用就重回你的怀抱了,其实认领很简单,这里讲到的自然是对未签名的包进行签名。由于这样的
2022-06-06

Android应用的Material设计的布局兼容性的一些要点总结

Define Alternative Styles 定义替代样式 让你的app,使用Material Design的主题运行在支持它的设备上,并在早期版本的设备上可以运行较早的主题: 1. 在res/values/styles.xml 定
2022-06-06

Android中Canvas的常用方法总结

一、对Canvas进行操作对Canvas的一系列操作,是指对Canvas进行旋转、平移、缩放等操作。这些操作可以让Canvas对象使用起来更加便捷。 二、Canvas平移/** * 画布向(100,50)方向平移 * * 参数1: 向X轴方
2022-06-06

Android中的Activity生命周期总结

概述 有图有真相,所以先上图:上图是从Android官网截下的Activity的生命周期流程图,结构非常清晰,它描述了Activity在其生命周期中所有可能发生的情况以及发生的先后顺序,下面就将结合此图详细介绍一下Activity的生命周期
2022-06-06

Android中的Service相关全面总结

1、Service的种类 按运行地点分类: 类别 区别 优点 缺点 应用本地服务(Local) 该服务依附在主进程上, 服务依附在主进程上而不是独立的进程,这样在一定程度上节约了资源,另外Local服务因为是在同一进程因此不需要IP
2022-06-06

Android java代码中设置文字颜色方法总结

java设置颜色 //系统自带方式设置 textView1.setTextColor(Color.RED); //利用RGB设置 textView2.setTextColor(Color.rgb(255,255,0)); //16进制颜色代
2022-06-06

Android中使用自定义ViewGroup的总结

分类 自定义Layout可以分为两种情况。自定义ViewGroup,创造出一些不同于LinearLayout,RelativeLayout等之类的ViewGroup。比如:API 14以后增加的GridLayout、design suppo
2022-06-06

Android中的设计模式

一般来说,常用的设计模式有以下八种:单例、工厂、观察者、代理、命令、适配器、合成、访问者 单例模式:目的是为了让系统中只有一个调用对象,缺点是单例使其他程序过分依赖它,而且不同单例运行在不同进程中,使得维护困难; 工厂模式:生产固定的一些东
2022-06-06

网页设计中的装饰元素总结的应用是怎样的

今天给大家介绍一下网页设计中的装饰元素总结的应用是怎样的。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。最近在做个性休闲服装内网站的设计课程,过程中发现,个性元
2023-06-08

java中的数学计算函数的总结

java中的数学计算函数Math类: java.lang.Math类中包含基本的数字操作,如指数、对数、平方根和三角函数。 java.math是一个包,提供用于执行任意精度整数(BigInteger)算法和任意精度小数(BigDecimal
2023-05-31

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录