为什么Google没有在安卓里xbox one向下兼容容setElevation这个方法

14994人阅读
ANDROID L(5)
转载请注明本文出自大苞米的博客(),谢谢支持!
Android L:
Google已经确认Android L就是Android Lollipop(5.0)。
Google之前就已经提前推出了Android L Developer Preview(开发者预览版)来帮助开发者更快的了解Android特性,而不久前也推出了64位的模拟器镜像,而且首次搭载Android L系统的Nexus 6和 Nexus 9也即将上市。
相信Android L正式版离我们也不远了,所以是时候开始学习Android L了!
关于Android L如何配置模拟器和创建项目,如果大家有兴趣的话可以看看我之前的一篇文章:
Material Design:
Material Design是Google推出的一个全新的设计语言,它的特点就是拟物扁平化。
Material Design包含了很多内容,我大致把它分为四部分:
主题和布局——
视图和阴影——
UI控件——
今天就先来说说第二部分——Material视图和阴影
视图和阴影
View的大小位置都是通过x,y确定的,而现在有了z轴的概念,而这个z值就是View的高度(elevation),而高度决定了阴影(shadow)的大小。
View Elevation(视图高度)
View的z值由两部分组成,elevation和translationZ(它们都是Android L新引入的属性)。
eleavation是静态的成员,translationZ是用来做动画。
Z = elevation + translationZ
在layout中使用&android:elevation属性去定义&
在代码中使用&View.setElevation&方法去定义&
设置视图的translation,可以使用View.setTranslationZ方法&
新的ViewPropertyAnimator.z和ViewPropertyAnimator.translationZ方法可以设置视图的elevation值
新的属性值:translationZ允许你创建一个动画暂时的反应出View的高度值(elevation)变化。
这对于响应触摸手势很有用处,请看下面代码(官方Demo中的代码):
一个简单触摸监听,在点击和抬起的时候分别设置translationZ的值,效果如下图所示:
Shadows and Outlines(阴影和轮廓)
视图的背景边界决定了默认的阴影形状。轮廓(Outlines)代表了图形对象的外形状,并确定了对于触摸反馈的波纹区域。
在Android L中设置一个阴影很简单,只需要两点:
1.设置eleavation值
2.添加一个背景或者outline
可以在xml中通过定义一个背景来设置outline:
也可以通过代码来创建一个outline:
给视图设置一个outline(如果为了防止一个视图产生阴影可以设置outline为null):
上面的方法在Android L5.0正式版中已经被替换,下面我再介绍以下Android L5.0设置outline的方法:
ViewOutlineProvider viewOutlineProvider = new ViewOutlineProvider() {
public void getOutline(View view, Outline outline) {
int size = getResources().getDimensionPixelSize(R.dimen.fab_size);
outline.setOval(0, 0, size, size);
fab.setOutlineProvider(viewOutlineProvider);
下图是使用不同eleavation值产生的阴影效果:
下图是不同背景/轮廓产生的阴影和拖拽效果:
Drawable Tinting(着色)
对于Android L还有一个独特的特点就是现在可以定义图片的alpha遮罩,并且可以轻松的使用android:tint属性去调整色调。
下面是一个使用tint属性给背景调整不同颜色的例子:
Clipping Views(裁剪视图)
可以使用View.setClipToOutline方法去剪切一个视图的outline区域。
只有rectangle,circle, 和round rectangle outlines支持裁剪(Outline.canClip方法用来判断是否可以裁剪)
为了裁剪一个可绘制的视图形状,需要先设置一个outline然后调用View.setClipToOutline方法:
下面请看一个使用裁剪的例子:
首先创建一个轮廓,给轮廓设置区域大小,添加轮廓到视图上,确认裁剪,效果图如下:
因为裁剪视图是一个很耗资源的操作,所以当裁剪一个视图时不要添加动画(为了达到这个效果可以使用Reveal Effect动画,动画篇会介绍)。
我将Material Design分为如下四部分:
主题和布局——
视图和阴影——
UI控件——
本文的视图和阴影非常重要,因为在以后Android L的开发中会经常用到。
当我把Android L所有特性介绍之后就会着手开始写实例Demo了,配合实例Demo相信会更容易理解。
剩余的UI控件,动画,我会陆续更新,敬请期待。。。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:348342次
积分:4551
积分:4551
排名:第4372名
原创:50篇
评论:616条
(2)(1)(1)(1)(1)(1)(4)(3)(1)(4)(2)(3)(6)(1)(4)(4)(4)(6)(2)Android 用户和开发者如何看待「MIUI 的七宗罪」?
在极客公园看到一篇文章: ,里面罗列了MIUI在设计上的“七宗罪”:第一宗罪:擅自替换应用内控件;第二宗罪:用色过于鲜艳,难以搭配;第三宗罪:设定逻辑混乱;第四宗罪:阴影特效随意乱用;第五宗罪:发散大范围拟真效果;第六宗罪:应用 UI 层级混乱,没有规律;第七宗罪:擅自修改启动器逻辑造成的操作混乱。这个大家怎么看?
按投票排序
这是我从MIUI PM
的答案里拖过来的Dropbox截图:这是Android原生状态下的截图:这是Android原生状态下的截图:各位怎么看?各位怎么看?
作为一个开发者我完全赞同 @NovaDNG 的说法,MIUI(尤其是V5之前,现在这个版本至少我写的应用的主界面不至于一塌糊涂)自己乱改系统主题就是臭不要脸。以前我在写Twidere的时候,曾经有很多人反映“Twidere的主题很难看,名字是白的,在白底上看不见”,因为他们用的是MIUI。MIUI把Holo.Light主题的ActionBar背景色改成橙色,各种元素的颜色也是橙色的。而且还把Primary Text Color从原本的黑色改成浅灰。最初的界面弄的乱七八糟。以下是截图。你也知道,现在很多用MIUI的就是小白,他们不会知道Android Design,MIUI作屎一样的主题污染了我们开发的给标准Android使用的app,他们也不会认为是MIUI的问题。他们之后怪罪开发者“你们做的app主题难看死了”。后来我专门为了这把整套Holo的资源放进Twidere,希望能够在全平台上让它有一样的效果,可是一些内部的东西没法改,比如 @NovaDNG 所提到的 CheckboxPreference 之类。结果体积增加了400k不说,主题一样丑得不行。再后来我索性顺着自定义主题的路子来,在4.0以上完全跟随系统主题,配色读取Android里面的Activated Color属性(这就是不同主题的关键色彩,原生的就是Holo Blue),在设定成Holo Green/Holo Yellow主题的CM9上,可谓是赏心悦目,因为界面中所有Holo颜色都和系统一致。可是,MIUI在保留Action Bar橙色的同时,Activated Color还是蓝色。难道雷布斯喜欢撞色?我真想为他奇葩的审美点根蜡烛。最后,因为他们的设计者的乱来犯下的错,最终都是由开发者承担,因为用户不会说“这个系统做得不好,它让应用的主题不兼容”,而是说“这个应用真垃圾,它居然和我手机的主题不兼容”。于是我在这儿写下以上这些话,支持 @NovaDNG 的观点。补充一下在原生Android(设备是Nexus 7)下,Twidere的面貌。
简述我的观点:1、Android Design正在成为第三种移动设计范式,同iOS UI和Metro UI三足鼎立,Google最近各产品线的更新升级,其UI都统一了,这个路线几乎和微软开创Metro风格一模一样,不过后者更激进些;2、体验一致性非常重要,君不见非常好用的Android Menu虚拟/实体按钮被Google以及众猪队友给毁掉,因此在什么平台,请遵守该平台的UI设计规范;3、有人会反驳上一条,MIUI替换掉了原生控件的UI,不是实现了体验一致性吗,但这个替换不是彻底的,也不可能彻底,这必然给某些原本好看好用的App造成恶劣影响,而且别人还不会骂MIUI,只会骂该App;4、因此MIUI最大的问题是它没有一个设计规范,也无法去实现这样一个规范,更何况,MIUI本身在设计中存在逻辑混乱的情况,这点参照那篇文章中提到的。这些虽然普通用户可能没感觉,但是要想作为规范,让别人遵循你的设计是不够格的;5、虽然说了这么多,到了MIUI这个层面,UI只能算加分项,即使稍次也无关大局,只要多数人能够用就够了。我还是很欣赏小米的理念的,Android太开放了,要想永久性的解决一些问题,比如安全问题,只有打造Android生态中的小生态圈才行,并且这个生态必将如iOS一样封闭,并且小米这么做无论是BAT还是手机厂商都无能为力,连抄都很难抄。---------------------哈哈,找到一张有意思的图:小米台湾版,去掉了小米商店,加入了Facebook和Google服务多的不说。多的不说。
作为开发者,各种 ROM 都需要尝试的,但其实就目前来看,在实用价值来说,MIUI 依然是最不差的 ROM 之一。从一个用户的角度说说我对 MIUI 的看法:那些界面上的问题,是事实,但对 MIUI 的思路而言,本身就是快速迭代不断试错的,如果有问题的部分,其实可以直接官方渠道提出,然后讨论,然后修改,几个控件不对,只要提出,应该都是可以改的,而且必须要改,例如在暗色背景下的开关控件问题,似乎现在的控件只针对了亮色背景,这些都是应当解决的问题。当然有一点确实需要批判,就是 MIUI 给所有图标增加了一个矩形圆角的底座,这一点是所有 UI 改动中最不可容忍的,而且这个问题被很多网友多次提出,MIUI 团队始终我行我素。。。非常可惜的是,作者列的七宗罪竟然没有这一条。——如果要我来列举,无疑这是所有界面改动中的第一宗不可饶恕之罪。——如果 MIUI 开发团队坚持认为这是更好的效果,至少应当提供一个选项允许用户禁止这个效果,因为实在太多用户痛恨这个底座了。关于界面风格的定制,我的看法跟 Fuubo 作者一致,App 开发者不应当期望系统缺省配色与原生系统一致,因为用户可以有任意的风格定义。换句话说就是:如果你的导航条是自己定义的蓝色,那么分割线就自己手动定义为蓝色或者黑色,如果分割线用系统颜色,那么你就必须得预期他可能是任意的色彩。混合使用系统主题与自定义修改永远会造成问题,无论是什么系统。因为系统主题的色彩可能任意值,而自定义修改是确定值。Dropbox 那个界面的问题,除了左上角图标底座确实是 MIUI 的罪过以外,其他问题应当是 Dropbox app 开发者自身的问题。=== 分界线 ===好了,吐槽完毕,开始说说感受。MIUI 号称发烧友的 ROM ,以前其实还并不太符合事实,但随着时间的推移,随着 V5 的完善,确实越来越名副其实了。我说说这个 ROM 有哪些值得称道的地方:所有第三方应用缺省情况下没有后台运行的权限,除非用户手动允许。这事其实也就苹果敢做,其他 android ROM 很少能做到,必须安装 LBE,绿色守护之类的软件才能实现。不过 MIUI V5 无需 ROOT 就能实现,而 LBE 跟 绿色守护必须 ROOT 才能实现相关功能。干掉应用之后应用没法自己偷偷跑起来,这一点对系统流畅性的贡献相当大。所有应用程序的网络访问权限可以被单独控制(例如可以控制某个应用没有上网权限,或者某个应用只能在 WIFI 下上网),当然你可以说这其实是 LBE 的功能,但 LBE 要完成这个功能必须 ROOT,而且你系统中会有一个 LBE 的服务,而 MIUI 并没有独立增加任何服务,也无需 ROOT 就能做到这一点。很多常见的服务有着很好的集成,具体有:号码归属地查询,短信防火墙,来电防火墙,在线音乐播放,云相册,网盘,指南针,手电筒,语音助手,网络短信,天气,应用程序备份,系统更新,授权管理,网络流量管理,自动流量同步,等等等等。——如果你们觉得集成这些服务没啥,但从开发者的角度,我要说的是:小米是在没有增加什么第三方 APK 没增加内存占用的情况下集成这些服务的,如果你自己去集成这些应用,你的系统后台会有几十个服务!然后你的手机内存全部占完,然后你会说『安卓就是个卡出翔的系统』。。。有个靠谱的浏览器:小米内置浏览器有非常好的效率,而且内置了小米书签,Google Chrome 书签的云同步。实现了大字体方案,方便老人使用手机:MIUI的大字体方案,所有界面字体都很大,桌面的图标直接是 3x3 的布局,整个系统界面对大字体方案的完整支持,目前几乎没有什么其他 ROM 能做到(安卓 4.2 原生界面中,就算把字体设定为超大,对老人来说也太小了)。——第三方应用基本上都是无视系统的字体大小设定的,唯独小米自带的应用基本上都会遵循系统的字体大小设定,只要系统设定为大字体,所有界面字体都会变大。缺省集成了 Google 服务框架:其实安装 Google 应用非常简单,重要的是 ROM 本身需要集成 Google 服务框架,只要这个框架存在,安装 Google 应用跟安装其他应用一样简单。很多国行手机是没有集成 Google 服务框架的,所以要安装 Google 应用必须通过刷机才能实现。——国内安卓手机缺省集成了 Google 服务框架的款式,可以用『屈指可数』来形容。这不是MIUI的优势,而是小米手机的优势:它支持电信网络。并且在不久的将来有可能支持移动的3G网络(目前小米2使用的基带芯片在硬件上其实是支持移动TD的,只是不清楚为什么小米2没有推出移动版),其他很多手机厂商都集中在联通网络,或者提供一个只能上移动2G的手机,智能手机连3G都上不了,逼别人为了上3G去入联通网,这实在不是负责任的中国手机厂商应该做出的事情。好了,现在我想到的只有这么多,想回应的只是那些『为发烧友而生』的那句话,我能说的是,你不是发烧友,没有认真研究过系统的细节,没有认真用过 android,自然不能理解 miui 的优秀。用这句经典的话来结束我的评价吧,极客们秒懂:All android ROM sucks, MIUI is the one sucks less.
关注和文章作者
很久了,他对于 MIUI 的观点也比较清楚明确,这篇文章其实只是说了一些界面设计和个人审美上的东西,题目有点耸人听闻了。其实作者应该明白 MIUI 最大的问题不是界面设计。* * *两条道路前一阵听说亚马逊中国应用商店开张,特意去下载了 Amazon App Store。打开后发现这个应用界面很丑;但是问题不是丑(美丑都是个人审美)而是它丑得很有水平——既不是 iOS 的风格,又不是 holo 的风格,也不像 Android 2.x 或者 3.x。我十分不解,后来才明白,因为亚马逊有一个产品叫 Kindle Fire,也就是说他们家的应用首先要去适应 Kindle Fire 的界面风格,所以自然与正常的 Android 格格不入。凑巧前几天看 ,那个时候 Galaxy Nexus 和 ICS 刚刚面世,Kindle 初代也是刚刚发布,Joshua Topolsky 拿着 Kindle Fire 问 Duarte 关于亚马逊的这个定制系统有何感想,Duarte 说看到有人拿着 Android 做出不一样的东西觉得挺高兴的。在后来的一次 Hangout 访谈中,他又 [1]:I think as we see more and more of the basic UI, the basic operating system – the home screen, the notifications system – kind of meet all of the needs that the customers want, you’ll see that OEMs invest less time trying to fill in the features maybe that were missing there and more time adding completely new features to differentiate each other. Or taking the baseline Android experience and trying to transform it to create something completely different that is more of a niche product like the Kindle Fire.MIUI(还有锤子),事实上想走的就是第二条路;但是亚马逊光明正大,MIUI 则未必承认。比如,Jeff Bezos 没有说 Fire 是「为发烧而生」,也不拿它跟其他旗舰平板比跑分,而是刻意与那些极客们才感兴趣的 Android 设备划清界限 [2]:Last year, there were more than two dozen Android tablets launched into the marketplace, and nobody bought ‘em. Why? Because they’re gadgets, and people don’t want gadgets anymore. They want services that improve over time. They want services that improve every day, every week, and every month.亚马逊一直在积极地「去谷歌化」,它对于 Android 的态度是明确的 [3]——只取自己需要的部分(其中包括但不限于 Android 平台的众多应用),而亚马逊的目标,是要让用户忘记系统,专注内容。* * *量变和质变而 MIUI 对 Android 的态度则是很模糊的。事实上 MIUI V4 对于 Android 的「baseline」的改动是很小的,基本上就是把暗色背景换成浅色,并把所有的 holo 蓝换成小米橙而已。V4 时代 MIUI 专注在功能上,相当于做了几个好用的自带应用就是一个 Android 皮肤+实用应用集。但是 V5 不同。从 V4 末期开始,MIUI 的野心就已经显露出来了——往大处说,推出小米应用商店、皮肤商店、云服务,整合百度音乐、搜狐视频、金山快盘、金山/腾讯安全组件、搜狗输入法,收购多看,推出小米盒子;往小处说,删除了稳定版 MIUI 的 root 权限,基本放弃原生系统的维护更新,UI 上与 Android「baseline」渐行渐远(比如 V4 中期对于 「recent apps」界面的改进)等。随之而来的就是 V5 以前所未有的高调发布。台上的雷军没有发布小米一代、二代时的声嘶力竭,显得无比从容。这个时候的 MIUI 已经不是「UI」了,它就是一个系统。在,小米副总裁、MIUI 负责人洪锋这样展望 MIUI 的未来:我们希望 MIUI 能够有自己的 DNA,我们希望我们能够自己定义 MIUI,而不是被动地等待 Android 的每一次更新。iPhone 出来之前,大家觉得市场上的手机都还不错,但 iPhone 出来后,其他的都变成了屎。我们现在更多的可能还是量变,不是质变。从完全违背「baseline」的「橡皮筋反弹」效果开始(可能是你在 V5 中接触到的第一个「不对劲」的地方),我就看出,MIUI V5 就是这个质变的第一步。于是,之前我在 Kindle Fire 上发现的那一套又重现了:你看随着 V5 发布那些全新的小米应用的界面——小米应用商店、米聊、多看阅读等——美丑不重要,关键是,有了 MIUI 自己的风格。我觉得剩下的就是,看什么时候小米可以承认他们在做与亚马逊相同的事了。* * *我为什么不喜欢这样的 MIUI小米这样的道路看似无可非议,事实上很少见到人列举「Kindle 的几宗罪」,可是我为什么不喜欢这样的 MIUI 呢?小米仍然在扯「为发烧而生」。小米从一开始就不「为发烧而生」,这句笑话一样的宣传语造成了很大的误解。小米仍然在试图去争抢 Android 旗舰机的交椅,仍然在谈配置和跑分。小米仍然在强调 MIUI 是适合中国人的 Android 定制系统,再加上小米桌面,中国的各品牌「小米」手机占有率不小。小米一边强调「内容」、「体验」,视图搭建自己的封闭生态圈;一边强调「发烧」,强调产品的「gadgets」属性,坚持定位于「Android 第三方 ROM」:这种鱼与熊掌都要,共产党员信教的做法真的令人看不惯。更重要的是,MIUI 事实上对于中国的 Android 开发与国际接轨造成了障碍。iOS 有统一的风格和统一的应用市场,中国的很多应用可以走出世界,国外的优秀应用也从未如此容易地被中国人看到,这是一个巨大的机遇。我们看到在中国不少 iOS 应用都能达到/接近国际水平。可是在 Android 这边,如果开发者接触到的都是 MIUI 这样的系统,甚至压根没见过没用过原生的 Android,那就很难在所有的 Android 手机上给用户最好的体验,更不要说走出国门。* * *总结说到底,还是两条道路而已。罗永浩在一开始就说了锤子会非常封闭,MIUI 即使不承认,未来也会去那样发展。毕竟,从魅族 M8 到 OPhone,从乐Phone 到阿里云,中国人拥有自己的移动操作系统/生态圈的百年夙愿总要有人去实现(你可以理解为讽刺,但是——他们确实是这样想的啊)。正如洪锋所说,小米的今天三年前就已经规划好了,他们从来就不甘于只做个 Android 第三方 ROM 及其配套硬件的,他们要做第二个苹果,第二个亚马逊。魅族和锤子也是。再看走在另一条道路上的厂商,不论是心甘情愿还是之前失败而不得已,我对这条道路的前途是非常乐观的,因为我看到自 Jelly Bean 以来,Android 应用的质量越来越好,Android 的用户体验越来越棒,Android 自己的风格已经有了足够的号召力,碎片化带来的劣势越来越小而优势越来越明显。今年公布了 HTC One 和 GS4 的「Nexus 版」,未来可能会有更多这样的手机。如 [3] 所说,「Jeff Bezos gives Android the credit it deserves」,「The Kindle Fire’s success is Android’s success」。但是小米只要一天还在做「Android 第三方 ROM」,它的坏影响就不会消除。我不介意他去走自己的道路,但是我不希望他影响另一条道路走得好好的,越来越好的其他人。* * *[1] 完整的谈话可以看这里:[2] 来源:[3] :Android is accomplishing everything that Amazon needs it to and, at the same time, giving the company flexibility to customize things. We treat Android like Linux, and so it’s a base OS layer. We have a large dedicated team that customizes Android and that’s what you see on the Kindle Fire.
第一条擅自替换应用内控件是最不可原谅的,android design中明确提出手机厂商不可删除替换系统内置holo主题,因为某些应用运行时会使用内嵌控件样式,小米这样做严重影响了应用在android平台上一致性观感。为什么别的手机厂商都能老老实实遵守,小米却要明知故犯呢?这样做会和flyme的SB栏一样,造成android平台开发的分离。还是那句话,自己的系统随便怎么玩,像ios、像wp都没关系,只要用户一打开应用和其他android手机一样就行。可惜国内手机厂商总不愿意按照规矩玩,自作聪明的去走独木桥。~~~~~~~~~~~~~~~~~~~~~关于android 4.x内置不可删除或修改的holo主题:4.0以后android都会内置holo主题,一方面是为了统一第三方应用的界面,减少2.x时代五花八门的应用界面。希望开发者尽量遵循android design,方便使用原生主题控件,减少开发时间。另一方面也是为了手机厂商定制界面,手机厂商随便怎么改,都有holo来确保第三方应用不会出现各个定制系统界面不一样的情况。没人希望twitter在miui一个样子,在flyme上一个样子。说句不好听的话,无论是miui还是flyme都没有能力左右android的设计方向,没有必要拉着用户和其他android厂商分道而驰。至于后面几条,都是涉及系统UI的美观度,用户口味不一,有人喜欢有人讨厌也没什么大不了的。只是说android 4.0的UI设计已经非常成熟,小米其实可以在其基础上完善美化,做一些更符合国人观感的改变,如亚洲人比较偏向淡雅轻快的浅色holo主题等,个人以为,这点魅族做的比小米好。~~~~~~~~~~~~~~~~~~~~~大家不要一看到讨伐小米的七宗罪这样很有争议的话题就群情激愤,回答还是以理服人,拿事实说服大家才好。要喷出门左转cnbeta更好
作为文章作者我多嘴一句, 这篇文章纯粹是讨论设计上, UI 方面的缺陷, 不要拿"MIUI 就是好用"来做答案, 很不负责任的.
修改补充 @鄭紫陽 同学建议我概括性的总结观点作为答案. 首先是, 关于 MIUI 对于原生控件的修改, 这是我最无法饶恕的一点, 也是一个正常的开发者所不能容忍的. 这种做法已经触犯了 Google 的底线, 属于作死行为. 自带应用你爱怎么乱搞随你便, 别人做的应用, 别人做的控件你也篡改, 这是最恶心最没节操的. 第二, 很多人说 MIUI 功能很好, 这点我也许要承认, 但是这和 MIUI 那乱七八糟的 UI 有什么关系呢? 这些功能, 这些内置应用, 完全可以做成 Android Design 的样式啊? 举个例子, Flyme 的很多功能改进和内置应用的样式也是遵循了 Android Design 不是吗(姑且不论坑爹的 Smart Bar 好了, 那是另一个必须消灭的东西)? 既然到了 Android 4.0, 那么为什么不跟随 Android Design 来重新设计 MIUI? 第三, 我对不同的界定. 把 Android Base 的 UI 改成 iOS, 这不是不同, 这是瞎搞. 什么是不同? 几乎所有的 Android Design 应用都有 Action Bar, 你能说他们长得一样吗?() 不同不是靠完全改变 UI 的设计风格来制造, 而是靠内容, 靠布局, 靠导航... 而做到真正的不同难度显然是比改 UI 风格要难的. 在我看来, MIUI 通过这种方式体现差异, 是无形之中承认了自己在内容, 布局, 导航方式方面的无力. 依然拿魅族做对比, Flyme 在很多地方都遵循了 Android Design, 可是它依然有很鲜明的品牌特性. 而我指出的七个问题, 全部都是由于 MIUI 对于 UI 的胡乱更改而造成的. 比方说橙色. 橙色是 Android 2.X 上泛用的高亮颜色, 所以在 Android 4.X 出来之前未有不妥, 但是 MIUI v5 作为 Android 4.X 的演进, 依然坚持使用纯度高饱和度高的橙色, 实在是不妥. 就算把橙色换成 Android Design 标准橙色(), 对 Android Design 应用的兼容效果也会比现在要好太多.
作为开发者其实我不是很在意是否使用原生的Android开发。首先,必须承认不论是MIUI还是Flyme,HOLO主题的应用都会与系统风格不搭,但必须得指出的是,miui修改holo主题某些控件值得吐槽。其次,应用受平台影响太大,是开发商(开发者)不可接受的,所以大部分优秀的应用会在理解平台设计标准的基础上,重新一套应用内的设计标准。以Fuubo为例,Fuubo运行在2.3 和 4.0手机上并没有太多区别,这是因为我在开发的过程中,尽量避免使用系统原生控件。这样的做法是有理由的,使用原生控件和反射调用某些api是很类似的,一旦使用这样的控件(api)开发者必须承担在不同平台应用表现不一致的风险。作为用户Android原生系统的易用性达不到我的最低标准,比如我不能接受需要安装第三方文件浏览器来完成基本的需求。所以我倾向于使用小米手机或者mx,nexus很难成为我的主力机至少目前是这样。结论对于一个优秀的系统:1.基础应用和界面必须统一,这一点flyme 和 miui都达标了2.在不影响第三方应用功能的前提下,修改控件是可以接受的
作为开发者,大家还记得设置圆角的那四个属性么?android:topLeftRadiusandroid:topRightRadiusandroid:bottomLeftRadiusandroid:bottomRighRadius还记得Google在3.0以前将其中两个搞反了么?对,就是android:bottomRightRadius和android:bottomLeftRadius这两个搞反了然后所有第三方也全按照Google已经错了的方式来~ 这个问题Google拖到3.0才修复了这个错误开发者可以通过资源文件夹进行区分便能比较方便得完成新旧版本的兼容可是,有一家,他自作聪明得把这个问题提前修正了然后导致他在3.0(Api Level 12)之前的年代和世界上所有其他ROM在圆角处理上都不一致是聪明,还是糊涂?我觉得MIUI还是一群很聪明很有活力的家伙们组成的也许有的时候过于关注个性化和不一样而忽视了其他方面但如果MIUI没有这些个性和标新立异,也许也就无法生存得这么好了吧希望在MIUI不会再出现Radius这样的问题,也不要再出现ListView中不记得是Selector还是CacheColorHint的那种Bug了~随着影响力和估值的增加,MIUI也应该担负起更多的责任了。==============================================================通过了CTS验证说明不了什么问题,虽说CTS算是一个兼容性验证,但其实更多的是查看是否存在运行时错误,跟UI表现什么的关系不大。所以通过CTS验证不能说明无罪……
我想说说自己从用户角度对miui的理解。手边有nexus4和小米2的我应该算是比较有话语权的。原生的Android无疑代表Google的审美和引领的方向,不管是简洁大气的Holo界面还是流畅的系统ui,或是完整的谷歌服务。无一不在阐释着Google的产品理念。显然Android是成功的,从4.0后慢慢走出了自己的风格,加上细节上的优化,目前着手对平台碎片化的解决,一步步走向成熟。而miui身为国内最知名以及成熟的Rom,虽是基于Android定制,但其也在长期的改进和发展中走出了自己的风格。从产品角度来讲,只要系统好用,用户是不会在乎你的系统逻辑或是ui层级是否与原生Android一致的,更多值得吐槽的也就是ui的设计吧,这个就是见仁见智的东西了。对于控件的替换倒是一个硬伤,希望小米公司改进。最后结论就是:无论你喜欢原生Android的简洁还是Miui的强大人性化,作为产品来说无疑都是优秀的,miui会随着安卓的发展而发展,但显然它想打造的是自己的服务和生态圈,所以稍有偏离也就能够理解了。
已有帐号?
无法登录?
社交帐号登录

我要回帖

更多关于 向下兼容 的文章

 

随机推荐