5.0+ 新特性
- 5.0 主要新特性概述
5.0 API - RecyclerView
提供一种插拔式的体验,它具有高度的解耦、异常的灵活和更高的效率,通过设置它提供的不同LayoutManager、ItemDecorration、ItemAnimation可实现更加丰富多样的效果。只是条目分割线需要自定义。
RecyclerView与ListView比较 - 卡片CardView
继承自FrameLayout类,所以子控件设置原则和FrameLayout一样。并且可以设置圆角和阴影。
CardView的解析 - 三种Notification
5.0加入了一种新的模式Notification的显示等级。
1.普通Notification
创建Builder 对象,添加各种属性,用PendingIntent 控制跳转,最后是创建NotificationManager调用notify方法。
2.折叠式Notification
用RemoteViews来创建自定义Notification视图。
3.悬挂式Notification(5.0新增)
调用setFullScreenIntent来将Notification变为悬挂式Notification。焦点不变,不会影响用户操作,显示几秒会自动消失。
Android5.x Notification应用解析 - Toolbar
5.0之Toolbar详解 - Palette
用Palette提取颜色,从而使主题能够动态适应当前界面的色调,做到整个App颜色的基调和谐统一。
5.0 调色 Palette调色功能 - FloatingActionButton
是一种悬浮按钮,继承至ImageView,拥有ImageView的所有属性。
FloatingActionButton解析
自定义FloatingActionButton - TextInputLayout
继承自linearlayout,里边只能包裹一个控件,edittext或继承自edittext,在用户输入的时候能将原来的提示文字浮动在控件上边。
TextInputLayout、TextInputEditText - Snackbar
轻量级的反馈机制,手机屏幕下方的一个弹框,在屏幕所有层的最上方,包括浮动操作按钮。
Snackbar 使用 - AppBarLayout
继承自LinearLayout,布局方向为垂直方向。
AppbarLayout 开发实践总结 - TabLayout
水平布局展示Tabs,经常与Viewpager合用。
TabLayout属性详解 - NavigationView
NavigationView可以用来快速的创建一个导航菜单。菜单的内容可以通过一个menu资源文件来配置。
DrawerLayout和NavigationView使用详解
6.0新特性
- 6.0 主要新特性概述
6.0 API - 应用权限管理
6.0 应用权限管理成为系统级的功能,不再只依靠第三方实现。同时应用权限许可提示可以自定义。
适配Android6.0动态权限管理
6.0动态权限申请步骤以及需要注意的一些坑
PermissionsDispatcher,Android 6.0 运行时权限框架
7.0新特性
- 7.0 主要新特性概述
7.0 API - 多窗口模式
7.0多窗口支持 - 一个兼容问题
Android 7.0 禁止在应用外部公开 file:// URI,所以我们必须使用 content:// 替代。那我们就需要应用到FileProvider。应用场景就是:拍照图片的保存路径、升级时apk的下载路径。
webview 加载图片
特别注意:升级时apk的下载路径用到的 intent 注意调用addFlags,否则会有找不到apk的问题。
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
8.0新特性
- 8.0 主要新特性概述
8.0 API - 通知渠道 — Notification Channels
引入通知渠道,提高用户体验,方便用户管理通知信息。
Android 8.0通知系统适配