背景:
近来在有学员朋友在群里讨论到了一个分屏退出后,在桌面最近任务中的卡片显示异常问题,虽然他的问题和目前市场上的最近任务显示一半情况不一样。但是这里也刚好启发了群里vip学员们对这个最近任务对分屏task只显示一半画面问题进行相关的调研和激烈讨论哈。
分屏退出问题后最近任务现象:
针对这个最近任务中task如果从分屏退出的,下半屏在最近任务中就空白没有显示任何内容,其实也能理解为啥会显示半屏,主要还是因为分屏时候本身就是只有半屏内容,所以自然截图也只有半屏。但是针对android本身就有这样一个原生问题具体该如何改进呢?
针对这个问题vip群的技术讨论非常激烈:
下面来分析分析几个手机厂商的是如何处理的。
如何处理最近任务半屏问题
复现步骤:
1、哔哩哔哩应用和可以进入分屏的另一个应用同时进入分屏
2、触摸哔哩哔哩焦点到这个app上,然后返回退出分屏
3、上滑进入桌面多任务既可以看到哔哩哔哩半屏task问题
那么接下来看看大厂们是桌面解决规避该问题的,首先调研到小米手机处理方式如下:
明显可以看出这里的bibili应用最近任务卡片显示并没有出现下半屏不显示内容情况,但是也可以看出这里哔哩哔哩显示的这个task卡片的画面也是有被裁剪的,并不是真正的全屏,明显看着是拿半屏task画面,裁剪出来的。
具体估计方案如下:
这个是一种比较好的处理方案哈,当然也有一些手机厂商压根没有处理的,比如如下手机厂:
扩展是否有其他交互方案:
针对上面裁剪显示可能有的同学认为也不是那么完美,有没有其他好方案呢?
这里也可以从一些大厂手机获取一些思路,比如如下一种处理方案:
这里是对相册这个应用进行相关的多任务卡片的遮盖处理,同时也可以大概模糊的透看到底部一点内容。
所以这种思路也就是使用一些其他遮盖图层,或者是对task画面进行高斯模糊放大裁剪等画面,替换掉原来的真实task画面。
最完美的方案的相关思考
其实上面都是针对task的截图了半屏后,对图像的一些裁剪,或者是遮盖模糊等处理,本质上都只是一种交互规避方案,不需要修改到wms那块的原生窗口大小显示逻辑。
那么是否可以考虑直接正面解决呢?直接不让截图到半屏,只要进入到最近任务就是让task全屏,截图到全屏呢?
其实这种解决方法理论上也是可以做到的,但是逻辑上是不合理的,因为最近任务只是展示task曾经的一种状态,即task显示的内容肯定是已经展示过给用户了,如果我们是从分屏退出,其实task对于用户来说只展示过分屏的task画面,没有展示过task的全屏画面,但是如果因为我们强制想办法修改相关逻辑,让最近任务显示全屏task的内容,这个反而会让用户觉得很奇怪,为啥我都从来没见过task全屏画面,但是在最近任务里面却显示是task的全屏画面。
所以,综合以上因素还是认为保留task的半屏截图然后做相关处理是最好的一种方案。
参考链接:https://mp.weixin.qq.com/s/Tv85ncfE_9J2xoKyMmMayQ
更多framework实战干货,请关注下面“千里马学框架”