您的位置:首页 > 移动开发 > Android开发

day76_Android5.0+6.0新特性

2017-12-25 19:49 531 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: