Android5.0新特性-Material Design

概述

2014年,Google携Android5.X重装归来。全新的UI设计和更加优化的性能,令开发人员眼前一亮

安装和配置Android5.0开发环境

开发Android还得靠AS。下载地址
http://developer.android.com/intl/zh-cn/sdk/index.html
这里写图片描写叙述

材料设计概述

材料的形态模拟

Google通过模拟自然界纸墨的形态变化、光线与阴影、纸与纸之间的控件层级关系,带来一种真实的空间感

更加真实的动画

Android5.x大量添加了各种新的动画效果,让整个设计风格更加自然和谐。

大色块的使用

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

此外还有非常多新的设计风格,如悬浮button,聚焦大图、无框button、波纹效果等新特性
详细可參考
http://www.google.com/design/#resources

材料设计能做哪些工作

  • 保证向后的兼容性
  • 使用材料设计的主题
  • 让视图产生阴影
  • 使用RecyclerView和CardView
  • 定制动画

intel x86模拟器

下载和安装intel x86模拟器加速器

之前的ARM模拟器,是以软件的形式模拟,所以非常慢~x86能够选这使用宿主机器的GPU等,和真机的速度相差无几~

以下更新SDK使用了国内的代理。须要的童鞋能够看下
这里写图片描写叙述

下载

打开SDK Manager
这里写图片描写叙述

install 之后
这里写图片描写叙述

安装

找到SDK例如以下文件夹,由于这个加速器是跨平台的,windows操作系统相应的是exe执行文件,安装就可以
这里写图片描写叙述

这里写图片描写叙述

当然你也能够使用genymotion~有真机最好了~

从官方下载x86模拟器加速器

除了从SDK中下载,还能够从Intel官方站点上下载加速器

官网例如以下:
https://software.intel.com/zh-cn/android

https://software.intel.com/zh-cn/android/articles/intel-hardware-accelerated-execution-manager/

这里写图片描写叙述

检測 Intel X86模拟器加速器是否成功安装

这里写图片描写叙述

cmd命令行窗体:

这里写图片描写叙述

安装x86模拟器镜像

尽管我们上面安装了加速器。可是仅仅是模拟器而已,镜像才是关键!

!!

从SDK中直接安装

官方推荐的安装方法

由于我的电脑操作系统是64位。我们打算在5.0的模拟器中使用,所以选择例如以下:
这里写图片描写叙述

从Intel官方下载安装

https://software.intel.com/zh-cn/android/articles/android-44-kitkat-x86-emulator-system-image

这里写图片描写叙述

指导文档

下载后放到相应的文件夹就可以~

体验以x86模式执行Android模拟器

这里写图片描写叙述

都是默认选项,选择使用宿主机器的GPU~
这里写图片描写叙述

哈哈 速度那是必须的快~

Material主题

Material Design如今有三种默认的主题能够设置:

  1. @android:style/Theme.Material (dark version)
  2. @android:style/Theme.Material.Ligh (ligth version)
  3. @android:style/Theme.Material.Ligh.DarkActionBar

同一时候 Android5.x提出了Color Palette (颜色调色板)的概念。让开发人员能够自己设定系统区域的颜色。使整个APP的颜色风格和系统的颜色风格保持一致。

通过例如以下代码,能够通过使用自己定义Style的方式来创建自己的Color Palette 颜色主题,从而实现不同的颜色风格。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppTheme" parent="android:Theme.Material">
        <!--appBar的颜色-->
        <item name="android:colorPrimary">#BEBEBE</item>
        <!--状态栏的颜色-->
        <item name="android:colorPrimaryDark">#FF5AEBFF</item>
        <item name="android:navigationBarColor">#FFFF4130</item>
        <item name="android:colorAccent">#BF3EFF</item>

    </style>
</resources>

这里写图片描写叙述
这里写图片描写叙述

RecyclerView

详见本人还有一篇博客 RecyclerView全然解读


立体卡片CardView

详情请查看鄙人CradView的使用


视图和阴影

Material Design的一个非常重要的特性就是拟物扁平化。


这里写图片描写叙述

影响视图阴影的因素

以往的Android View通常有2个属性——X和Y,而在Android5.X中,Google为其添加了一个新的属性 —Z,相应垂直方向上的高度变化。

在Android5.x中,View的Z值由 elevation + translationZ(这两个都是5.x引入的新特性)组成。

当中 elevation是静态的成员,translationZ能够在代码中使用来实现动画的效果。

Z = elevation + translationZ

通过布局文件和Java代码设置视图的阴影

通过布局文件设置

在xml中设置View的视图高度

android:elevation="Xxdp"

比方:

 <TextView
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_gravity="center"
   android:text="@string/cardview_contents"
   android:elevation="10dp" />

通过Java代码设置

view.setTranslationZ(XXX)

通常也会使用属性动画来为视图高度改变的时候添加一个动画效果

if(flag){
    view.animate().translationZ(100);
    flag=false;
}else{
    view.animate().translationZ(0);
    flag=true;
}

阴影拖动


视图裁剪

着色

ripple_drawable资源

矢量drawable资源

在Android中使用SVG矢量图

SVG设计器

实现SVG矢量动画

APP的兼容性

原文地址:https://www.cnblogs.com/blfbuaa/p/7325925.html