5.0新特性
十大新特性
-
全新Material Design设计风格
- 新的视觉语言,在基本元素的处理上,借鉴了传统的印刷设计,字体版式、网格系统、空间、比例、配色、图像使用等这些基础的平面设计规范
- 支持多种设备
- 全新的通知中心设计
-
支持64位ART虚拟机
- 谷歌承诺所有性能都会比原来提升一倍,Android Lollipop支持更大的寄存器,支持新的指令集,提升了内存寻址空间,未来Android智能手机将支持4GB以上的内存。
- Project Volta电池续航改进计划
- 全新的"最近应用程序"
- 改进安全性
- 不同数据独立保存
- 改进搜索
- 新的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);
阴影效果
-
矩形的阴影效果
- 图形大小需要注意
- elevation有层次关系的作用
- 圆形Shape的阴影效果->可以直接设置
-
原形图片的阴影效果-->设置无效
- 代码中设置阴影
- 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