Android 5.X 新特性详解

Android 5.X 新特性详解

2014,Google携Android 5.X重装回归。全新设计的UI和更加优化的性能,再一次奠定了Android 的霸主地位。

本文将就UI 方面Google在Android 5.X 中的改动来向读者做一个简单的汇总,让读者能够深刻领会Android 5.X的精髓所在。

1Android 5.X UI设计初步Android 5.X系列开始使用新的设计风格Material Design来统一整个Android系统的界面设计风格。与之前的设计风格不同,这次的Material Design 设计将Android 带到了一个全新的高度,同时Google 在官网上推出了全新的设计指南——全面地讲解了Material Design 的整个实现规范与示例如下图所示。

本次Material Design 主要强调了以下几个方面的设计:

●材料的形态模拟

材料的形态模拟是Material Design 中最核心也是改变最大的一个设计,Google 通过模拟自然界纸墨的形态变化、光线与阴影、纸与纸之间的空间层级关系,带来一种真实的空间感。

●更加真实的动画

好的动画效果可以非常有效地指引用户、暗示用户,并给使用者带来非常愉悦的使用体验。

Android 5.X 中大量加入了各种新的动画效果,让整个设计风格更加自然、和谐。而各种新的转场动画,能更加有效地指引用户的视觉焦点,不至于因为复杂布局的界面重排而对整体效果产生影响,让使用者达到一个视觉连贯性。

●大色块的使用

Material Design 中用大量高饱和度、适中亮度的大色块来突出界面的主次,并一扫AndroidX 系列Holo 主题的沉重感,让界面更加富有时尚感和视觉冲击力。

此外,还有很多新的设计风格,比如悬浮按钮、聚焦大图、无框按钮、波纹效果等新特性,这里就不一一列举了。

Google 在其Design网站上,有整个Material Design 的设计Spec(网站:http://www.google.com/design/#resources)希望了解更多Material Design 设计风格的读者可以去这个网站上获得更多的关于MaterialDesign的介绍和使用技巧。

2Material Design主题首先来看看如何使用Material Design 的主题。

Material Design 现在有三种默认的主题可以设置,显示效果如图 所示。

@android:style/Theme.Material (dark version)

@android:style/Theme.Material.Light (light version)

@android:style/Theme.Material.Light.DarkActionBar

同时,Android 5.X 提出了Color Palette 的概念,让开发者可以自己设定系统区域的颜色,使整个App 的颜色风格和系统的颜色风格保持统一。

通过如下所示代码,可以通过使用自定义Style 的方式来创建自己的Color Palette 颜色主题,从而实现不同的颜色风格,显示效果如图。

3Palette在Android的版本发展中,UI 越来越成为Google 的发展重心。这次的Android 5.X创新地使用Palette 来提取颜色,从而让主题能够动态适应当前页面的色调,做到整个App 颜色基调和谐统一。

Android 内置了几种提取色调的种类,如下所示。

●Vibrant(充满活力的)

●Vibrant dark(充满活力的黑)

● Vibrant light(充满活力的亮)

●Muted(柔和的)

●Muted dark(柔和的黑)

●Muted light(柔和的亮)

使用Palette 的API,能够让我们从Bitmap 中获取对应的色调,修改当前的主题色调。

使用Palette 首先需要在Android Studio 中引用相关的依赖,在项目列表上点击F4,然后在Module Setting 的Dependencies 选项卡中添加com.android.support:palette-v7:21.0.2 引用,重新Sync 项目即可。可以通过传递一个Bitmap 对象给Palette,并调用它的Palette.generate()静态方法或者Palette.generateAsync()方法来创建一个Palette。接下来,就可以使用getter 方法来检索相应的色调,这些色调就是我们在上面列表中所列出来的色调。

下面这个例子,演示了如何通过加载的图片的柔和色调来改变状态栏和Actionbar 的色调,代码如下所示。

通过以下方法来提取不同色调的颜色。

palette.getVibrantSwatch ();

palette.getDarkVibrantSwatch ();

palette.getLightVibrantSwatch ();

palette.getMutedSwatch ();

palette.getDarkMutedSwatch ();

palette.getLightMutedSwatch ();

在如上所示代码中使用getDarkVibrantSwatch()方法提取的色调效果如图7 所示。

——————本文节选自《Android群英传》

相关推荐

飞科FS370( FLYCO FS370 )
best365提现到账慢

飞科FS370( FLYCO FS370 )

🕒 07-29 👀 3531
寻觅的意思
线上365bet

寻觅的意思

🕒 10-12 👀 964