##5.0新特性
###十大新特性
1. 全新Material Design设计风格
* 新的视觉语言,在基本元素的处理上,借鉴了传统的印刷设计,字体版式、网格系统、空间、比例、配色、图像使用等这些基础的平面设计规范
2. 支持多种设备
3. 全新的通知中心设计
4. 支持64位ART虚拟机
* 谷歌承诺所有性能都会比原来提升一倍,Android Lollipop支持更大的寄存器,支持新的指令集,提升了内存寻址空间,未来Android智能手机将支持4GB以上的内存。
5. Project Volta电池续航改进计划
6. 全新的“最近应用程序”
7. 改进安全性
8. 不同数据独立保存
9. 改进搜索
10. `新的API支持`,蓝牙4.1、USB Audio、多人分享等其它特性
###Material Design
>* 设计语言,设计标准,设计规范
>* 官网:http://www.google.com/design/spec/material-design/introduction.html
>* 中文翻译1:http://www.mobileui.cn/material-design/
>* 中文翻译2:http://design.1sters.com/#
##开发方面新增了哪些内容
> 关心有哪些新的api
###5.0主题
* 谷歌官方我们提供了三种配色风格
黑色主题 Theme.Material
明亮主题 Theme.Material.Light
明亮主题黑色ActionBar Theme.Material.Light.DarkActionBar
* 主题修改:重写属性
<style name="CustomTheme1" parent="android:Theme.Material.Light.DarkActionBar">
<!--通知栏颜色-->
<item name="android:colorPrimaryDark">#ff3367d6</item>
<!--标题栏颜色-->
<item name="android:colorPrimary">#ff4285f4</item>
<!--窗口颜色-->
<item name="android:windowBackground">@color/windowBackground_CustomTheme1_color</item>
<!--底部操作栏颜色-->
<item name="android:navigationBarColor">#ff000000</item>
</style>
* 主题切换
private void changeTheme(int redTheme) {
overridePendingTransition(0, 0);
finish();
Intent intent = new Intent(MainActivity.this, MainActivity.class);
intent.putExtra("themeId", redTheme);
overridePendingTransition(0, 0);
startActivity(intent);
}
###ToolBar&DrawerLayout&DrawerToggle的使用
>Toolbar是什么?大概说一下它的官方介绍。Toolbar是应用的内容的标准工具栏,`可以说是Actionbar的升级版`,两者不是独立关系,要使用Toolbar还是得跟ActionBar扯上关系的。相比Actionbar Toolbar最明显的一点就是变得很`自由,可随处放置`,因为它是作为一个`ViewGroup来定义使用的`,所以单纯使用ActionBar已经稍显过时了,它的一些方法已被标注过时。
1.引入v7包,去除actionBar
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
</style>
2.创建ToolBar的布局
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ff0000">
</android.support.v7.widget.Toolbar>
3.使用toolbar
//布局中使用
<include layout="@layout/include_toolbar"></include>
//写代码
mToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);//这个方法是在ActionBarActivity里面,对应的Activity需要继承actionBarActivity
4.集成Drawlayout
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawLayout);
mDrawerToggle = new ActionBarDrawerToggle(MainActivity.this,
mDrawerLayout, mToolbar, R.string.open, R.string.close);
5.集成actionbarToggle
mDrawerToggle.syncState();
mDrawerLayout.setDrawerListener(mDrawerToggle);
###阴影效果
* 矩形的阴影效果
1. 图形大小需要注意
2. elevation有层次关系的作用
* 圆形Shape的阴影效果->可以直接设置
* 原形图片的阴影效果-->设置无效
1. 代码中设置阴影
ViewOutlineProvider provider = new ViewOutlineProvider() {
@Override
public void getOutline(View view, Outline outline) {
outline.setOval(0, 0, view.getWidth(), view.getHeight());
}
};
iv.setOutlineProvider(provider);
###图片的叠加裁剪(圆角图片)
ViewOutlineProvider provider = new ViewOutlineProvider() {
@Override
public void getOutline(View view, Outline outline) {
outline.setOval(0, 0, view.getWidth() - 30, view.getHeight() - 30);
}
};
iv.setOutlineProvider(provider);
iv.setClipToOutline(true);
###图片选择器-->统一张图片使用tint,`tintmodel`的属性
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@mipmap/g24"
android:tint="#ff9cff94"
android:tintMode="multiply"
>
</bitmap>
###vector矢量图
* 矢量图和位图的区别
* 矢量图展示
* 桃心
* 三角形
* 矢量图动画
* 参考1:file:///F:/android-sdk-studio/docs/reference/android/graphics/drawable/AnimatedVectorDrawable.html
* 参考2:Android 5.0学习之AnimatedVectorDrawable
<vector>元素的矢量资源,在res/drawable/(文件夹)
<animated-vector>元素的矢量资源动画,在res/drawable/(文件夹)
< objectAnimator>元素的一个或多个对象动画器,在res/anim/(文件夹)
###水波纹效果
###调色板
###状态动画,background可以设置属性动画,帧动画,矢量图动画,转场动画
> file:///F:/android-sdk-studio/docs/training/material/animations.html
###recycleView
> file:///F:/android-sdk-studio/docs/training/material/lists-cards.html
* view adapter layoutmanager
* 纵向
* 网格
* 瀑布流
* 横向
* 下拉刷新
###cardview
hellword