3.设置分割线
书中用的是继承ItemDecoration来实现分割线效果的
我们还可以在每一项布局的底部加一个分割线
或者去使用默认的分割线,直接传一个DividerItemDecoration
通过分割线的实例对象去setDrawable一个shape标签写的xml布局
4.自定义点击事件
通过回调接口来设置点击事件
5.实现GridView
这个设置一下布局管理器,分割线就可以了
6.实现瀑布流
在onBindViewHolder中通过LayoutParams去设置每一个Item的高度就可以实现了
附加:
Adapter中的执行顺序是getItemViewType()、onCreateViewHolder()、onBindViewHolder()
onCreateViewHolder():在这个界面首次加载Item的布局的时候执行
onBindViewHolder():首次加载在onCreateViewHolder()之后执行,然后只要Item滚动进屏幕就会频繁调用
1.1.3 卡片CardView
- 主要是可以直接在xml中设置圆角、阴影等等
1.配置build.gradle
- 导包,没啥说的
2.使用CardView
- 这个也没啥说的
1.1.4 三种Notification
otification可以在状态栏,锁屏界面,甚至悬浮窗口进行通知,最直观的就是我们在打王者荣耀的时候微信有新消息会有一个悬浮窗来通知我们
1.普通Notification
通过PendingIntent来跳转,就那几行代码,不详细说了
2.折叠式Notification
和普通的Notification基本一样,只不过多了一个展开的视图,需要使用RemoteViews创建自定义的视图
3.悬挂式Notification
不需要下拉通知栏直接显示出来悬挂在屏幕上方,并且焦点不变,过几秒就消失,需要调用setFullScreenIntent
4.Notification的显示等级
VISIBILITY_PUBLIC:任何情况都会显示通知。
VISIBILITY_PRIVATE:只有在没有锁屏时会显示通知。
VISIBILITY_SECRET:在pin、password等安全锁和没有锁屏的情况下才能够显示通知。
直接通过调用setVisibility方法就可以了
1.1.5 Toolbar与Palette
-
Toolbar比Actionbar好用得多
-
在Android群英传已经详细介绍过这个了,这里简单说几句
1.引入Toolbar
-
导包,没啥说的
-
style中把Actionbar去掉,并且自定义各种颜色
写布局,代码中调用
2.自定义Toolbar
我们还可以设置Toolbar的标题和图标以及Menu、Item等属性
覆盖setOnMenuItemClickListener实现点击的回调
3.添加DrawerLayout实现侧滑
没啥说的
4.Palette
意为:调色板,用来提取颜色,让主题能够动态适应当前界面的色调,
实现方式:将bitmap传递给Palette,调用generate即可,在onGenerated回调中得到图片的色调
1.2 Android 6.0新特性
==================
2015年5月,Android推出了6.0 Marshmallow(棉花糖)的新系统,依旧保持Material Design风格,在软件体验与运行性能上进行来大幅度的优化,据测试,Android6.0可使续航时间提升30%
1.2.1 Android 6.0主要新特性概述
1.应用权限管理
应用的权限都开放给开发者和用户
2.Android Pay
支持4.4以后的系统设备并且可以使用指纹来进行支付
3.指纹支持
其实6.0之前也有部分手机厂商就实现了指纹的功能,比如我之前用的5.0的oppo手机也有指纹功能,而这一次是谷歌提供的指纹识别支持
4.Doze电量管理
手机静止不动一段时间后,进入Doze电量管理模式,当屏幕处于关闭状态,平均续航时间可提高30%
5.App Links
将app与它们的web域名关联,比如手机邮箱中收到一封邮件,点击链接中的Twitter链接,可以直接跳到Twitter应用,而不是网页
6.Now on Tap
这个功能可以很大的方便用户,比如在某一个程序界面长按Home键,它会识别屏幕上的内容并创建Now卡片
1.2.2 运行时权限机制
Android 6.0之前,会在安装App的时候列出各种访问权限,那么在Android 6.0之后会在App运行的时候一个一个的来询问用户来授权
1.Android 6.0之前版本的应对之策
Android 6.0默认为targetSDKVersion小于23的应用授予了所有的权限,如果应用的targetSDKVersion低于23,在运行时不会崩溃,如果手动取消了权限,则会提示拒绝了权限而无法运行,依赖该项授权的方法的返回值为null,所以有可能报空指针异常,所以我们要尽快着手修改App支持最新的权限系统
2.Normal Permissions与Dangerous Permission
Google将权限分为两类:普通权限和危险权限
普通权限不涉及用户隐私,比如手机振动、访问网络什么的直接在AndroidManifest.xml中简单声明就可以
危险权限涉及用户隐私比如读取sdcard、访问通讯录、短信等就必须用户授权了
3.实现支持运行时权限
用打电话来举个例子,在点击按钮的时候判断是否有权限,没有权限就去申请权限,申请权限的回调中判断申请是否成功,如果拒绝了每次都会请求权限,如果拒绝并勾选了不再询问,如果想更改权限就只能到系统设置中的应用权限去开启权限了
4.处理不再询问选项
在权限的回调中弹个对话框出来
5.PermissionDispatcher框架的使用
这是一个github上的框架,然后封装了一些操作,不说太多了
1.3 Android 7.0新特性
==================
- 2016年8月,谷歌推出Android 7.0 Nougat(牛轧糖)正式版,我们看一下有什么新功能
1.3.1 Android 7.0主要新特性概述
1.多窗口模式
在一个应用程序中长按Overview按钮,就可以进入分屏模式,oppo手机三指上滑也会进入分屏模式
2.Data Saver
流量保护机制,启用Data Saver模式时,系统将拦截后台数据使用,减少前台运行应用使用的数据量,例如限制流媒体服务的码率,下调画质,以及减少缓存等
3.改进的Java8语言支持
支持Java8,可以直接用Lambda表达式
4.自定义壁纸
可以为主屏幕设置壁纸,为锁屏设置另外一张壁纸
5.快速回复
通知栏快捷回复功能
6.Daydream VR支持
虚拟现实平台,由头盔、手柄和智能手机构成,支持Daydream的智能手机要满足一定的硬件要求
7.后台省点
屏幕关闭后所有的后台进程都将被系统限制活动,不会再后台持续唤醒,从而达到省点的目的
8.快速设置
快捷开关界面可以自定义添加/删除快捷开关,或拖动进行排序
9.Unicode 9支持和全新的emoji表情符号
支持Unicode 9,并且新增了大约70中emoji表情符号
10.Google Assistant
号称融合了谷歌搜索的深度学习技术以及Google Now的个人信息学习技术
1.3.2 多窗口模式
1.进入多窗口模式
每个手机进入的方式不一样,通用的是进入一个程序后长按Overview按钮
我用的oppo手机还有一种方式是进入一个程序,三指上滑
2.多窗口的生命周期
进入多窗口模式时,重新创建,最终会停留在onPause,如果店家窗口才会获取焦点进入onResume:
onPause
onStop
onDestroy
onCreate
onStart
onResume
onPause
退出多窗口模式时,重新创建,最终停留在onResume:
onStop
onDestroy
小福利:
在当下这个碎片化信息环境的时代,很多资源都可以在网络上找到,只取决于你愿不愿意找或是找的方法对不对了
很多朋友不是没有资料,大多都是有几十上百个G,但是杂乱无章,不知道怎么看从哪看起,甚至是看后就忘
如果大家觉得自己在网上找的资料非常杂乱、不成体系的话,我也分享一套给大家,比较系统,我平常自己也会经常研读。
2021大厂最新Android面试真题解析
各个模块学习视频:如数据结构与算法
只有系统,有方向的学习,才能在段时间内迅速提高自己的技术。
这份体系学习笔记,适应人群:**第一,**学习知识比较碎片化,没有合理的学习路线与进阶方向。**第二,**开发几年,不知道如何进阶更进一步,比较迷茫。第三,到了合适的年纪,后续不知道该如何发展,转型管理,还是加强技术研究。如果你有需要,我这里恰好有为什么,不来领取!说不定能改变你现在的状态呢!点赞+评论即可获得!
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!
43691750)]
各个模块学习视频:如数据结构与算法
[外链图片转存中…(img-4qh0dL9J-1714643691752)]
只有系统,有方向的学习,才能在段时间内迅速提高自己的技术。
[外链图片转存中…(img-aBWxqnLo-1714643691753)]
[外链图片转存中…(img-WyAuVTmI-1714643691754)]
这份体系学习笔记,适应人群:**第一,**学习知识比较碎片化,没有合理的学习路线与进阶方向。**第二,**开发几年,不知道如何进阶更进一步,比较迷茫。第三,到了合适的年纪,后续不知道该如何发展,转型管理,还是加强技术研究。如果你有需要,我这里恰好有为什么,不来领取!说不定能改变你现在的状态呢!点赞+评论即可获得!
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!