Android5.0新特性-Material Design

2021-08-16 10:27:41 浏览数 (1)

概述

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主题的沉重感,让界面更加富有时尚感和视觉冲击力

此外还有很多新的设计风格,如悬浮按钮,聚焦大图、无框按钮、波纹效果等新特性 具体可参考 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 颜色主题,从而实现不同的颜色风格。

代码语言:javascript复制
<resources>
    <style name="AppTheme" parent="android:Theme.Material">
        --appBar的颜色-->
        <item name="android:colorPrimary">#BEBEBEitem>
        --状态栏的颜色-->
        <item name="android:colorPrimaryDark">#FF5AEBFFitem>
        <item name="android:navigationBarColor">#FFFF4130item>
        <item name="android:colorAccent">#BF3EFFitem>

    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可以在代码中使用来实现动画的效果。

代码语言:javascript复制
Z = elevation   translationZ

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

通过布局文件设置

在xml中设置View的视图高度

代码语言:javascript复制
android:elevation="Xxdp"

比如:

代码语言:javascript复制
 <TextView
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_gravity="center"
   android:text="@string/cardview_contents"
   android:elevation="10dp" />

通过Java代码设置

代码语言:javascript复制
view.setTranslationZ(XXX)

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

代码语言:javascript复制
if(flag){
    view.animate().translationZ(100);
    flag=false;
}else{
    view.animate().translationZ(0);
    flag=true;
}

阴影拖动


视图裁剪

着色

ripple_drawable资源

矢量drawable资源

在Android中使用SVG矢量图

SVG设计器

实现SVG矢量动画

APP的兼容性

0 人点赞