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如今有三种默认的主题能够设置:
- @android:style/Theme.Material (dark version)
- @android:style/Theme.Material.Ligh (ligth version)
- @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的兼容性
Android5.0新特性-Material Design的更多相关文章
- Android5.0新特性——Material Design简介
Material Design Material Design简介 Material Design是谷歌新的设计语言,谷歌希望寄由此来统一各种平台上的用户体验,Material Design的特点是干 ...
- Android5.0新特性之——按钮点击效果动画(涟漪效果)
Android5.0 Material Design设计的动画效果 RippleDrawable涟漪效果 涟漪效果是Android5.0以后的新特性.为了兼容性,建议新建drawable-v21文件夹 ...
- Android5.0新特性——兼容性(support)
兼容性 虽然Material Design新增了许多新特性,但是并不是所有新内容对对下保持了兼容. 使用v7包 v7 support libraries r21 及更高版本包含了以下Material ...
- Android5.0新特性——阴影和剪裁(shadow)
阴影和剪裁 View的z属性 Material Design建议为了凸显布局的层次,建议使用阴影效果,并且Android L为了简化大家的工作,对View进行了扩展,能使大家非常方便的创建阴影效果: ...
- Android5.0新特性——全新的动画(animation)
全新的动画 在Material Design设计中,为用户与app交互反馈他们的动作行为和提供了视觉上的连贯性.Material主题为控件和Activity的过渡提供了一些默认的动画,在android ...
- Android5.0新特性:RecyclerView实现上拉加载更多
RecyclerView是Android5.0以后推出的新控件,相比于ListView可定制性更大,大有取代ListView之势.下面这篇博客主要来实现RecyclerView的上拉加载更多功能. 基 ...
- Android5.0新特性——图片和颜色(drawable)
图片和颜色 tint属性 tint属性一个颜色值,可以对图片做颜色渲染,我们可以给view的背景设置tint色值,给ImageView的图片设置tint色值,也可以给任意Drawable或者NineP ...
- Android5.0新特性——新增的Widget(Widget)
新增的Widget RecyclerView RecyclerView是ListView的升级版,它具备了更好的性能,且更容易使用.和ListView一样,RecyclerView是用来显示大量数据的 ...
- Android5.0新特性之——控件移动动画(初级)
最近开发,UI大牛们设计了好多很炫酷吊炸天的动画,不由得重新学习了一下5.0的ObjectAnimator动画. ObjectAnimator动画的原理,通过反射控件的setXXX方法,改变控件的实际 ...
随机推荐
- MySQL5.6 主从复制 ERROR 1776 (HY000): Parameters MASTER_LOG_FILE
主从都开启了gtid,在设置从库的时候遇到了问题 mysql> CHANGE MASTER TO MASTER_HOST=‘xxx’,MASTER_USER='replicant',MASTER ...
- PHP-数据库长连接mysql_pconnect的细节
PHP的MySQL持久化连接,美好的目标,却拥有糟糕的口碑,往往令人敬而远之.这到底是为啥么.近距离观察后发现,这家伙也不容易啊,要看Apache的脸色,还得听MySQL指挥. 对于作为Apache模 ...
- Ubuntu8.04系列-系统优化篇
文章欢迎转载,转载请注明出处:嘉骏苑http://luckiss.blogcn.com 原文出处:http://luckiss.blogcn.com/diary,15151058.shtml ...
- 使用CXF实现基于Rest方式的WebService
本文介绍使用CXF实现基于Rest方式的WebService(CXF的版本是3.0.0) 一. 前言 Java有三种WebService规范:Jax-WS,Jax-RS,Jaxm 1. Jax-WS( ...
- Linux-Vim使用技巧
cd /tmp 切换到/tmp目录下面 vim shijiazhuang.txt 编辑shijiazhuang.txt文件 welcome to shijiazhuang. yu hua qu c ...
- GuozhongCrawler系列教程 (4) StartContext具体解释
StartContext是注入时全部seed的上下文信息假设爬虫在抓取过程其中须要共享一些变量.那么可使用StartContext作为容器. 构造器具体资料 StartContext public S ...
- Hive 指定分隔符,将表导出到本地
hive表的数据源有四种: hbase hdfs 本地 其他hive表 而hive表本身有两种: 内部表和外部表. 而hbase的数据在hive中,可以建立对应的外部表(参看hive和hbase整合) ...
- android.view.animation(3) - LayoutAnimationController 和 GridLayoutAnimationController
前几篇给大家讲述了如何针对某一个控件应用动画,这篇将给大家讲解如何给容器中的控件应用统一动画.即在容器中控件出现时,不必为每个控件添加进入动画,可以在容器中为其添加统一的进入和退出动画. 从上面的示例 ...
- python (18)在linux中如何实现定时发送邮件到指定邮箱,监测任务
最近要用到,定时发送邮件功能: 如何定时,当然要用到linux中crontab了 如下的代码能够定时发送邮件 #!/usr/bin/env python # -*- coding=utf-8 -*- ...
- layoutSubviews什么时候触发调用
ios layout机制相关方法 - (CGSize)sizeThatFits:(CGSize)size - (void)sizeToFit ——————- - (void)layoutSubview ...