前言
Android每年都推出新版本,一直以来都只是粗略地看看别人写的文章,没有自己整理学习这些新出的东西,只有在不得不去做的时候才去学习,比如要适配8.0才知道未知应用安装权限。
每个版本新特性不少,有的是对性能的优化,而我只想知道哪些和日常开发有关联的,比如最直观的是提供了什么新的控件,权限、通知栏、文件共享又做了什么改变等等。所以这篇文章是整理从5.0到现在,都有哪些和日常开发有关的东西。
系统内核、v4兼容库、v7兼容库和design库下提供的控件都有什么区别?
1、系统内核,它提供的控件位于对应版本的android.jar中,例如平常使用的Button,TextView等。由于是对应版本的,所有只能在这个版本之上才能用,比如5.0内核的控件在4.0就找不到。
2、v4兼容库,它兼容4.0之后的系统,无需手动导入v4库,它默认会被编译进App的安装包,所以不需要系统内核支持,最常见就是v4的fragment。
3、v7和design,它们也是兼容4.0之后的系统,要手动导入,使用v7与design库的控件,类似于使用自定义控件。这两个库存在相互依赖关系,如design库依赖appcompat-v7库,v7库最常见就是RecyclerView。
注意:
Google 2018 IO 大会推出了 Android新的扩展库 AndroidX,用于替换原来的 Android扩展库 Support,但是迁移可能会遇到很多问题,例如第三方库没有用AndroidX,那工作量就很大了。
各版本与View相关的内容
看了许多介绍各版本新特性的文章,筛选了与View相关的内容,大概有如下内容。
Android 5.0和6.0新增控件
Android 5.0 出了Material Design 风格,也提供了许多新控件,网上在介绍这些控件时都是把5.0、6.0放一起,所以这里也放在一起。
1、什么是Material Design 风格?
2、新增控件
1)CardView、RecyclerView、SwipeRefreshLayout、TabLayout、NavigationView、Snackbar
2)TextInputLayout、TextInputEditText
3)CoordinatorLayout、AppBarLayout、CollapsingToolbarLayout、ToolBar、FloatingActionButton
3、新增功能
1)View的高度和阴影
2)View的轮廓与裁剪
3)Palette的使用,从一张图片中提取出关键的颜色,可以把该颜色值设置到别的控件上面。
4)水波纹动画,自定义水波纹动画以及状态选择器动画
5)如何动态替换theme?
Material Design 风格的限制太多,规范了没有特色,可能也不符合国内审美,比较少有app用这种风格,甚至有的用了又替换回来了,具体效果可以下载“airbnb(爱彼迎)”,“Gmail”看一看,或者看这篇文章Android之带你认识并使用Material Design 。Android 9.0迎来Material Design 2。
Android 7.0(N)
1.多窗口支持(分屏模式)
2.桌面长按图标出现快捷方式(可以长按支付宝、微博看效果)
Android 8.0(O)
1.画中画(PIP,个人感觉像是分屏模式的优化版)
2.自定义字体,可下载字体(Android studio 3.x 里可下载,但没有中文字体)。
3.自动缩放文本视图(Autosizing TextView)
Android 9.0(P)
1.适配刘海屏。
2.ImageDecoder,新的解码器,支持对各种图片格式的解码、缩放、裁剪,以及对解码后的图像做后期处理。
3.AnimagedImageDrawable,支持GIF和WebP格式的动图,并被新增的解码器类ImageDecoder直接支持
Android 10(Q)
1.折叠屏(没手机,暂时不管)
2.。。。
Android 各版本的特性不仅这些,只是整理了在开发过程中尚未接触到或使用较少的知识点,打算写一个简单Demo来整理学习和总结,其实每个知识点的详细讲解,网上都有很多,所以Demo里绝大多数都是网上的代码整合而已。
关联文章
一、Android 5.0、6.0新增控件学习整理
二、Android 7.0、8.0、9.0学习整理
参考
Android 5.0、6.0、7.0、8.0、9.0 新特性
Android 5.0 6.0 7.0 新特性
Android 7.0 新增功能和api
Android 8.0 新特性