前言

本篇文章补充一下之前https://blog.csdn.net/a396604593/article/details/123487805文章中的一些没填上的坑。
此代码基于Android 12
上篇:Launcher功能入口
本篇:launcher功能入口(二)
下篇:launcher功能入口(三)

7、三方应用界面滑动底部,切换recentTask

三方应用手势处理都在
packages\apps\Launcher3\quickstep\src\com\android\quickstep\inputconsumers\OtherActivityInputConsumer.java
onMotionEvent中
区别是:上滑回到home、上滑停顿回到recent、左右滑动底部切换三方应用
这几种都是松手时判断手势速度和方向得出不同的结束状态。

涉及到几个点
1、滑动事件是谁在处理

recentView继承PagedView.java,跟手的滑动在onTouchEvent的MotionEvent.ACTION_MOVE中处理mOrientationHandler.set(this, VIEW_SCROLL_BY, movedDelta);
Int2DAction<View> VIEW_SCROLL_BY = View::scrollBy;

看上去和桌面的左右滑动是一个地方在scroll
2、滑动时task的大小是哪里设置的
3、滑动结束后切换到下一个应用界面
https://blog.csdn.net/a396604593/article/details/129730553中的handleNormalGestureEnd
4、滑动动画在哪里创建的
https://blog.csdn.net/a396604593/article/details/129730553中的createWindowAnimationToHome
5、触摸事件怎么传递到recent view的

quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/TaskViewTouchController.java
quickstep/src/com/android/quickstep/inputconsumers/OtherActivityInputConsumer.java
quickstep/src/com/android/quickstep/TouchInteractionService.java
quickstep/src/com/android/quickstep/views/RecentsView.java
src/com/android/launcher3/touch/AbstractStateChangeTouchController.java
quickstep/src/com/android/quickstep/BaseActivityInterface.java

先简单记录几个点
1、recent界面task显示大小

packages\apps\Launcher3\quickstep\src\com\android\quickstep\views\RecentsView.java
loadVisibleTaskData 加载可见的task
getTaskSize 获取task大小
packages\apps\Launcher3\quickstep\src\com\android\quickstep\BaseActivityInterface.java
calculateTaskSize 计算task大小
calculateTaskSizeInternal 计算task大小

2、快速切换手势
在launcher界面快速切换进入第一个task

packages\apps\Launcher3\quickstep\src\com\android\quickstep\TouchInteractionService.java
onInputEvent中mUncheckedConsumer.onMotionEvent(event);处理触摸事件分发
packages\apps\Launcher3\quickstep\src\com\android\quickstep\inputconsumers\OverviewInputConsumer.java
onMotionEvent

在三方应用界面快速切换

packages\apps\Launcher3\quickstep\src\com\android\quickstep\TouchInteractionService.java
onInputEvent中mUncheckedConsumer.onMotionEvent(event);处理触摸事件分发
packages\apps\Launcher3\quickstep\src\com\android\quickstep\inputconsumers\OtherActivityInputConsumer.java
onMotionEvent

松手后切换到下一页还是原应用界面

packages\apps\Launcher3\quickstep\src\com\android\quickstep\AbsSwipeUpHandler.java
handleNormalGestureEnd 手势结束状态处理
calculateEndTarget 计算切页结果
16、recent界面 上滑、下滑某一个task动画

未完待续。。。

launcher功能入口(二)相关推荐

  1. launcher功能入口(三)

    背景描述 本篇文章补充一下之前https://blog.csdn.net/a396604593/article/details/123487805文章中的一些没填上的坑. 此代码基于Android 1 ...

  2. Launcher功能入口

    launcher各种功能入口 1.点击事件.点击图标.点击文件夹等等 ItemClickHandler.java public static final OnClickListener INSTANC ...

  3. 关于如何解决Windows10任务栏无响应问题及任务栏“咨询和兴趣”功能入口彻底关闭

    关于如何解决Windows10任务栏无响应问题及任务栏"咨询和兴趣"功能入口彻底关闭 一.前言 二.过程 (1)资源管理器 (2)新的问题,新的发现 (3)锁定"咨询与兴 ...

  4. 如何在App中实现朋友圈功能之二快速实现用户信息的自定义——箭扣科技Arrownock...

    如何在App中实现朋友圈功能 之二 快速实现用户信息的自定义 自我关联社交元素: anSocial中很多的社交元素API,如帖子(Post).相册(Album).文件(File)等,这些API的可选参 ...

  5. 金科科技学院计算机系统,金陵科技学院教务管理系统登录入口二本公办院校

    金陵科技学院教务管理系统 金陵科技学院教务管理系统登录入口二本公办院校 金陵科技学院我就简单介绍下,是二本学校,在6朝古都南京.前身是金陵职业大学+南京农业专科学校.2002年合并,2005年正式成立 ...

  6. 尼康d850相机参数测试软件,新功能介绍二:景深合成与自动调焦_尼康 D850_数码影像评测-中关村在线...

    ·新功能介绍二:景深合成与自动调焦 对于D850来说,机身也加入了非常多的新功能,这里还逐一介绍一下.首先我们要说的机身的景深合成功能.什么是景深合成?相信很多朋友都了解,相机在很多环境下,景深太浅是 ...

  7. Android 12.0 屏蔽FallbackHome机制去掉android正在启动直接进入默认Launcher功能实现

    目录 1.概述 2.屏蔽FallbackHome机制去掉android正在启动直接进入默认Launcher功能实现的核心类

  8. android输入法可以删掉吗,搜狗输入法功能科普二:如何添加或删除词库里的词(安卓篇)...

    原标题:搜狗输入法功能科普二:如何添加或删除词库里的词(安卓篇) 小伙伴们大家好,我们又见面了今天给大家分享下如何来使用输入法的各种词库.目前搜狗输入法是有很多词库的呢,比如系统词库.个人词库.细胞词 ...

  9. Struts2+Hibernate4开发学生信息管理功能--(二)Struts2和Hibernate整合

    Struts2+Hibernate4开发学生信息管理功能--(二)Struts2和Hibernate整合 1. 创建structs2和hibernate用户类库 (1)在Eclipse中加载jar包 ...

最新文章

  1. 【OpenCV】将图像数据由YUV格式转换成JPG格式直接使用,而不保存成文件
  2. 自学python需要买书吗-学习python需要有编程基础吗
  3. 实用手册:11种常见滤镜及使用效果
  4. 【注水功率分配】注水功率分配算法的MATLAB仿真
  5. java new string作用_java中直接new String对象?
  6. 微服务、Kubernetes和无服务器之后,即将发生的……
  7. Qt|OpenGL学习笔记-绕X轴、Y轴、以及XY轴旋转的四边体
  8. 物联网爆发 引发安全升级
  9. 如何在装有 macOS Monterey 的 Mac 上使用省电模式?
  10. 《程序员的数学》读后感
  11. matlab提取刚度矩阵,ANSYS刚度矩阵的提取与解析
  12. unity3d的下载与安装
  13. php 固定表头,固定表头和首列的表格
  14. 日常Bug:0xC0000135
  15. 局部特征——角点检测(Harris,Shi-Tomasi)
  16. 多文件自平衡云传输(四)资源发送端 —————— 开开开山怪
  17. 流程控制之if...elif...else和流程控制之while循环
  18. 《计算机网络管理》 期末考试
  19. 基于Filament引擎的Animoji效果实现
  20. tex liv模板_微软向所有人开放Liv​​e Mesh

热门文章

  1. oa提醒模块要素_OA协同办公系统的七大优势
  2. 计算机方面特长特招进北大,机器人特长生保送进北大!
  3. 施一公:我直到博士毕业,对研究也没兴趣!对未来很迷茫,也不知道将来要干什么......
  4. 盛大私有化和陈天桥的土皇帝心态
  5. 戴着 Google 眼镜去跟妹纸约会的杯具
  6. OSChina 周三乱弹 —— 多情自古空余恨,此恨绵绵无绝期
  7. HTC下一款Android手机即将上市
  8. ESP8266 Arduino-FLASH按钮电平驱动LED灯翻转
  9. 高级育婴师须知的育儿细节
  10. Gitee第三方登录