学习android framework有一段时间了,感觉有必要实战一个复杂点的功能来巩固一下学到的东西。于是就仿照自己手上华为nova 8 pro的自由窗口最小化效果,做了一下,过程还是挺漫长的,终于做出来了,下面是完整的效果:
自由窗口最小化完整效果
效果概述:
1.点击最小化按钮后,侧边栏会出现一个悬浮球。悬浮球可以随意拖动,但松手后会靠边。
2.每当一个自由窗口最小化后,都会更新悬浮球上的logo
3.只允许出现一个自由窗口,新的自由窗口或进入最近任务页面都会触发已有的自由窗口最小化
4.点击悬浮球出现的自由窗口会有一个放大的动画;点击最小化按钮会有一个逐渐缩小的动画。
5.当最小化的自由窗口大于等于2个时,点击悬浮球会展示已最小化的窗口列表,且背景是模糊的。
6.太多细节就不赘述了。。。
遇到的问题分享
实现的过程中遇到了太多的问题,但都解决了。这里就挑两个问题分享一下:
1.最小化按钮
我在加这个最小化按钮的时候,需要修改DecorCaptionView的布局文件,这就涉及到了修改frameworks/base/core/res/res目录下的文件。而修改这个文件下的内容时(添加id,layout,drawable,style等),注意,需要在framewor