手机大厂的自由窗口freeform功能基于aosp14/安卓14适配完成-千里马android framework实战开发

背景

hi,粉丝朋友们:
今年2023年已经块过去了,各个手机厂商已经开始适配aosp14,甚至有的是已经适配完成,明年市场就大部分手机出厂就都是android 14了。
近期有个马哥学员刚好求助马哥一个关于以前马哥课程里面自由窗口项目,这个项目在android 13上做的,但是他们公司是aosp14,希望我能帮忙尽快升级到14。

国内大厂情况

这里可以看到国内大厂普遍都是这种自由窗口,看着确实是湿滑流畅
在这里插入图片描述

课程的项目成果情况

马哥课程中自由窗口效果可以看出来基本和国内手机各个大厂自由窗口效果是不是大体相同,课程实现是带大家手把手进行实现的。
在这里插入图片描述

不过上面是基于aosp13进行的,最新的aosp14上这部分原生有较大修改,最重要相关修改有如下:

1、把原来的自由窗口自己的顶部栏显示等,独立成了一个窗口,移植到了如下目录
在这里插入图片描述

2、Shell包运行在systemui进程,原来直接控制Task窗口相关操作都需要通过如下操作方式

    wct.setBounds(mWindowDecoration.mTaskInfo.token, mRepositionTaskBounds);mTaskOrganizer.applyTransaction(wct);

都是通过相关的跨进程通讯来更新相关的Task窗口信息

aosp14适配成果展示

展示成果:
在这里插入图片描述

patch修改涉及到的类如下:
在这里插入图片描述

ps:相关patch需要购买马哥自由窗口课程才可以获取,具体可以私聊马哥

更多framework干货获取相关可以 私聊+v(androidframework007)
点击这里 https://mp.weixin.qq.com/s/Qv8zjgQ0CkalKmvi8tMGaw
视频:https://www.bilibili.com/video/BV1Jg4y1C7fw/
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/284965.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【为数据之道学习笔记】5-7五类数据主题联接的应用场景

在数字化转型的背景下,华为的数据消费已经不再局限于传统的报表分析,还要支持用户的自助分析、实时分析,通过数据的关联,支持业务的关联影响分析以及对目标对象做特征识别,进行特定业务范围圈定、差异化管理与决策等。…

安装android studio

记录一下安装android studio的过程: 1.首先安装android studio到某一文件夹后,在C盘用户目录下可以看到.android文件夹。C:\Users\22515\AppData\Local\Google目录下也会出现AndroidStudio2022.2文件夹。(注意:用户名&#xff0c…

如何访问AWS私有网络中的RDS (Mysql)

文章目录 小结问题及解决连接问题如何使用本地的Mysql Workbench对RDS进行访问 参考 小结 在AWS私有网络中部署了RDS (Mysql), 尝试通过外网成功地进行了访问. 问题及解决 连接问题 在AWS私有网络中部署了RDS (Mysql), 进行外网进行访问碰到了各种问题. 以下连接超时&…

(七)STM32 NVIC 中断、优先级管理及 AFIO 时钟的开启

目录 1. 中断相关知识简介 1.1 什么是中断 1.2 什么是内中断、外中断 1.3 什么是可屏蔽中断、不可屏蔽中断 2. CM3 内核中断介绍 2.1 F103系统异常清单 2.2 F103 外部中断清单 3. NVIC 简介 3.1 NVIC 寄存器简介 3.2 NVIC 相关寄存器的介绍 4. 中断优先级 4.1 优先…

python实现AES加解密小工具

需求 测试过程中需要对加密流量包进行加解密,有时候js太大调试过程中浏览器器会卡死。需要手动编写一个加解密工具对加解密信息处理。 实现 小工具是使用python3编写的 使用 python3 aes_tool.py encrypt "Hello, World!" key.txt --mode cfb python…

jconsole与jvisualvm

jconsole 环境变量配置好后 直接输入在cmd 输入jconsole 即可 jvisualvm cmd 输入jvisualvm jvisualvm 能干什么 监控内存泄露,跟踪垃圾回收,执行时内存、cpu 分析,线程分析… 运行:正在运行的 休眠:sleep 等待…

矩阵起源荣获“深圳企业创新(国际)纪录“殊荣

近期,第二十二届“深圳企业创新纪录”结果已经公示,矩阵起源凭借 MatrixOne 新一代超融合云原生异构数据库产品,荣获"深圳企业创新(国际)纪录"殊荣! 该奖项由深圳市企业创新纪录组织委员会主办&a…

[德人合科技]——设计公司 \ 设计院图纸文件数据 | 资料透明加密防泄密软件

国内众多设计院都在推进信息化建设,特别是在异地办公、应用软件资产规模、三维设计技术推广应用以及协同办公等领域,这些加快了业务的发展,也带来了更多信息安全挑战,尤其是对于以知识成果为重要效益来源的设计院所,防…

NVMe over CXL技术如何加速Host与SSD数据传输?

在现代计算环境中,优化Host(主机)与device(设备)之间的数据传输速度对于提升系统整体性能和效率至关重要。目前业内主要有以下几种方案: Controller Memory Buffer (CMB): CMB是一种集成在NVMe …

elastic:nested实现对满足条件的数组元素聚合查询

0. 引言 某些业务场景下,我们要对数组元素进行聚合查询,就需要用到nested数据类型,但部分场景是针对数组中指定的元素进行聚合,于是就需要对数组元素进行限定,今天来看看这种场景如何实现。 1. 数据准备 首先我们准…

flask搞个简单登录界面

登录界面 直接放上login.html模板&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Lo…

Git总结 | Git面试都问些啥?

什么是Git为什么要用Git等等这些相信看到该标题点进来的同学也不希望浪费时间再看一遍&#xff0c;那么直接进入主题&#xff0c;对于日常工作中常用的Git相关操作进行整理&#xff0c;一起看看吧 面试官&#xff1a;你常用的Git操作是什么? 候选人&#xff1a;git clone 面试…