wms窗口/多窗口/自由窗口systemui侧边栏手势退出实战-学员作业

0 阅读2分钟

原文地址:wms窗口/多窗口/自由窗口systemui侧边栏手势退出实战-学员作业

背景:

再学习了马哥的分屏自由窗口专题课程时候,有一个需求就是实现自由窗口置顶的功能,这个需求实现后,自由窗口就会一直处于顶端,不会因为打开其他Activity导致自由窗口退出。 在这里插入图片描述 不会因为打开了其他Activity而导致短信这个自由窗口模式的Activity退出到后台。 但自由窗口Activity置顶后,学员朋友也提出一个新问题,具体他的问题描述如下: 在这里插入图片描述

简单说就是学员朋友反应自由窗口置顶后,发现无法通过systemui的侧边栏返回手势进行返回了。下面就是针对这样一个需求来进行相关实战作业的布置。

实战作业布置:

问题的复现前提条件:

1、aosp13版本及以上

2、设置自由窗口为置顶模式,让自由窗口处于顶部,具体方法可以看马哥分屏课程自由窗口最后一节

3、手机系统要去设置切换成导航手势交互方式 在这里插入图片描述

aosp原生默认情况下,问题就是自由窗口置顶Activity永远无法用操作侧边栏返回退出,现象如下: 在这里插入图片描述 明显看到焦点输入在自由窗口上,但是操作侧边栏依然是底部的联系人窗口退出的,自由窗口的联系人无法退出。

需要实现的需求如下: 在这里插入图片描述 可以看到要实现的目标就是侧边栏滑动后退出是有焦点顶部自由窗口Activity。

作业要求及涉及知识点如下:

1、剖析出原生侧边栏返回为啥会退出是底部Activity而不是置顶的自由窗口Activity

2、剖析aosp13以后出导航手势是如何让Activity进行退出的,还是systemui模拟注入back键?

3、尝试相关方案是否可以修改成让置顶的自由窗口退出。

更多framework实战干货,请关注下面“千里马学框架”