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方法,改变控件的实际 ...
随机推荐
- 【APP接口开发】常用HTTP响应头状态码详解
1.200 OK,客户端请求城成功 2.400 Bad Request ,客服端请求语法错误,服务器无法理解和处理 3.401 unauthorized,请求未通过认证 4.403 permissio ...
- sphinx和mysql like对比
一共有3093326条企业数据,其中sphinx代码如下: <?php function microtime_float() { list($usec, $sec) = explode(&quo ...
- mysql的rand函数
项目中需要动态随机生成一些固定位数的随机数,如8位,5位等. 之前看到的写法是这样 ROUND(ROUND(RAND(),5)*100000) 这样写不太准确,有几率出现4位的情况,Rand() 函数 ...
- 使用jquery的 uploadify,在谷歌浏览器上总会崩溃的解决方法
最近做的项目使用了jquery的uploadify,但是在谷歌浏览器测试总是会出现崩溃.如: 因为是java项目. 解决的办法是: 给引入的js加上一个参数,时间戳就可以,防止缓存,使每一次都请求.( ...
- C#中byte类型转换为double类型
// Initialize unmanged memory to hold the array. int size = Marshal.SizeOf(bytes[0]) * bytes.Length; ...
- 第23章、OnFocuChangeListener焦点事件(从零开始学Android)
在Android App应用中,OnFocuChangeListener焦点事件是必不可少的,我们在上一章的基础上来学习一下如何实现. 基本知识点:OnFocuChangeListener事件 一 ...
- 流类库继承体系(IO流,文件流,串流)和 字符串流的基本操作
一.IO.流 数据的输入和输出(input/output简写为I/O) 对标准输入设备和标准输出设备的输入输出简称为标准I/O 对在外存磁盘上文件的输入输出简称为文件I/O 对内存中指定的字符串存储空 ...
- 使用Topshelf创建Windows服务(转)
Calculator public class Calculator : ICalculator { public Calculator() { Logger = LogManager.GetCurr ...
- FTL页面常用到的一些方法combobox、combotree、datagrid
参考文件:点击下载 1.combobox: (1).js 1)初始化combobox //相似度 $('#same').combobox({ //url:"<@s.url value= ...
- Android Study 之 初识ButterKnife(8.5.1)及简单运用
LZ-Says:突然间不知道说什么好,祝大家编码无bug吧~ 前言 话说,Android开发的兄弟们都知道,每次初始化控件,设置对应的事件.写的那点过程多并且恶心.我们先一块回想下不堪的以前~ 那些年 ...