aosp13 实现自由窗口最小化功能

 学习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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值