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方法,改变控件的实际 ...
随机推荐
- 摘:C++日期时间与字符串间的转换
VC6中 CString sTime = _T("2007-10-26 13:20:30"); char *charTime = (LPSTR)(LPCTSTR)sTime; CS ...
- Spring Boot中使用Spring-data-jpa
在实际开发过程中,对数据库的操作无非就“增删改查”.就最为普遍的单表操作而言,除了表和字段不同外,语句都是类似的,开发人员需要写大量类似而枯燥的语句来完成业务逻辑. 为了解决这些大量枯燥的数据操作语句 ...
- Django Drops
1.Django Intro 2.Django Install (1) PIP安装 sudo apt-get isntall python-pip sudo pip install Django (2 ...
- Android - 资源(resource)转换为String
资源(resource)转换为String 本文地址: http://blog.csdn.net/caroline_wendy Android建议资源的动态绑定, 即把string写入资源内, 然后运 ...
- location 将跟目录下某个文件夹指向2级目录
例如: /caffespressos/指向/web01/caffe/ [root@web01 default]# tree web01/ web01/ └── caffe └── index.html ...
- 466. Count Linked List Nodes【Naive】
Count how many nodes in a linked list. Example Given 1->3->5, return 3. 解法一: /** * Definition ...
- makefile之wildcard函数
$(wildcard PATTERN) 函数功能: 获取匹配 PATTERN 的所有对象 返回值: 使用空格分割的匹配对象列表 1. 示例1
- UIApplication深入学习
多时候,我们不需要关心这个类,我们很少继承这个类,偶尔会调用这个类的api来实现一些功能,但是不可否认,这个类是iOS编程中很重要的一个概念.UIApplication的核心作用是提供了iOS程序运行 ...
- [转] C#与Java的比较
[转] C#与Java的比较 转自:C#与Java的比较 2015-06-26 目录 一.C#.C++和Java二.语言规范的比较 2.1.简单数据类型 2.2.常量 2.3.公用类的入口点 ...
- CentOS 6.2修改主机名
写在前面的话:因为服务器要统一主机名,但是在安装的时候忘记设置了,所以需要修改主机名 需要修改两处:一处是/etc/sysconfig/network,另一处是/etc/hosts,只修改任一处会 ...