当前位置: 首页 > news >正文

仿华为车机功能之--修改Launcher3,实现横向滑动桌面空白处切换壁纸

本功能基于Android13 Launcher3

需求:模仿华为问界车机,实现横向滑动桌面空白处,切换壁纸功能(本质只是切换背景,没有切换壁纸)。

实现效果:

实现思路:

第一步首先得增加手势识别

第二步切换底图,不切换壁纸是因为切换壁纸动作太大,需要调用到WallpaperManager,耗时且会触发应用activity重启

原生系统有识别上滑与下滑的动作,那我们应该增加一个左滑和右滑的动作识别

禁止上滑出所有app视图的实现在这里

src/com/android/launcher3/touch/AbstractStateChangeTouchController.java:137: return true;//Kevin.Ye added for not pulling up AllApps

构建了mDetector = new SingleAxisSwipeDetector(l, this, dir);

SingleAxisSwipeDetector 可以实现,横向 竖向 两个方向

PortraitStatesTouchController extends AbstractStateChangeTouchController 定义了竖向的 手势识别

搞清楚调用关系

由于继承关系是这样的:QuickstepLauncher extends BaseQuickstepLauncher extends Launcher

所以dragndrop/DragLayer.java调用 mActivity.createTouchControllers(

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Go 语言版本管理——Goenv
  • 三、建造者模式
  • Kaggle克隆github项目+文件操作+Kaggle常见操作问题解决方案——一文搞定,以openpose姿态估计项目为例
  • Kafka【二】关于消费者组(Consumer Group)、分区(partition)和副本(replica)的理解
  • Disjoint-set data structure--并查集
  • 过滤器 与 拦截器
  • window下kafka3启动多个
  • C++高精度算法--加法
  • STM32外部中断(总结了易出现的BUG)
  • Windows10上Nginx如何通过自签名证书方式发布Https服务(下)
  • pycharm 2024.1下载、安装
  • 【c++】cout打印char * 或者char[]的细节详解
  • Java中的事件驱动架构(EDA)
  • 面相对象的成员介绍
  • C# 什么是属性
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • Android交互
  • Angular 2 DI - IoC DI - 1
  • Javascript设计模式学习之Observer(观察者)模式
  • JDK9: 集成 Jshell 和 Maven 项目.
  • js 实现textarea输入字数提示
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • Redis中的lru算法实现
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 规范化安全开发 KOA 手脚架
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 聚簇索引和非聚簇索引
  • 聊聊hikari连接池的leakDetectionThreshold
  • 前端代码风格自动化系列(二)之Commitlint
  • 前端技术周刊 2019-01-14:客户端存储
  • 什么软件可以剪辑音乐?
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 最近的计划
  • gunicorn工作原理
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • # 数据结构
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • $GOPATH/go.mod exists but should not goland
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (2015)JS ES6 必知的十个 特性
  • (day18) leetcode 204.计数质数
  • (javaweb)Http协议
  • (k8s中)docker netty OOM问题记录
  • (PySpark)RDD实验实战——取最大数出现的次数
  • (差分)胡桃爱原石
  • (力扣)1314.矩阵区域和
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (一)项目实践-利用Appdesigner制作目标跟踪仿真软件
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .cn根服务器被攻击之后
  • .Net 4.0并行库实用性演练
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库