Android8.0适配那点事(一)

最近有小伙伴说,7.0适配整了一波,现在又要来适配8.0,真是一波未平一波又起

 

但是作为开发者来说,学无止境,不跟上时代的步伐,肯定会被时代所淘汰...

 

话说Android P已经在路上了,你准备好了吗?

 

 

 适配属性 

 

1、通知渠道(Channeld)

当然,适配8.0的第一步自然是把targeSdk升级到26,在8.0中所有通知的实现都需要提供通知渠道,否则,所有通知在8.0系统上面都不能正常显示;

下图是8.0系统上,APP通知的展示样式: 

 

 

APP适配渠道通知的实现如下:

 

 

 

 

2、悬浮窗

8.0 API 新增了一种悬浮窗的窗口类型,TYPE_APPLICATION_OVERLAY;

如果应用使用 SYSTEM_ALERT_WINDOW 权限并且尝试使用以下窗口类型之一来在其他应用和系统窗口上方显示提醒窗口:

TYPE_PHONE 
TYPE_PRIORITY_PHONE 
TYPE_SYSTEM_ALERT 
TYPE_SYSTEM_OVERLAY 
TYPE_SYSTEM_ERROR 
TYPE_TOAST

 

这些窗口将始终显示在使用 TYPE_APPLICATION_OVERLAY 窗口类型的窗口下方。 
如果该应用适配了8.0,则应用只能使用TYPE_APPLICATION_OVERLAY窗口类型来创建悬浮窗。(其它窗口类型在8.0已经被废弃掉)

 

3、画中画模式(新增功能)

我们知道Activity是默认支持分屏模式的,但我们也需要声明Activity是允许分屏的,再增加支持画中画模式:

 

App页面从全屏模式切换到画中画模式,它的Activity生命周期也会经历销毁后重建的过程,如果开发者想保持App页面不被重建,则需给该页面的activity节点加上以下的属性描述:

android:configChanges="srceenLayout|orientation"

 

对于视频播放页面,Activity代码同样不在onPause方法中暂停播放视频,而应当在onStop方法中暂停播放,并在onStart方法中恢复播放视频;

 

 

进入画中画模式:

 

 

4、自适应图标

Android 8.0 引入自适应启动器图标,可在不同设备型号上显示为各种不同的形状,创建方式如下:

 

   

 

然后点击Next后,直接finish,最后在application中使用:

 

 

 

 结语 

 

各位看官,别走开,你的留言,你的点赞,是我前进的动力,接下来还有启动页的适配,版本更新适配等其他一些功能详细阐述;文中如有错误请留言指出,共同探讨。

 

 

posted @ 2018-07-05 10:27  zhengbang  阅读(7912)  评论(0编辑  收藏  举报