android 12.0Launcher3长按拖拽时,获取当前是哪一屏,获取当前多少个应用图标

news/2024/10/21 10:05:37/

1.概述

在12.0定制化开发手机项目中,如果专门适配老年机的时候,这时客户提出要求,如果最后一屏未满时,不让拖拽到后面一屏的空屏中这样就需要获取当前是哪一屏,并且要知道当前有多少个Item,总共一屏最多多少个item
所以就需要从Workspace.java入手,来分析解决这个问题

2.Launcher3长按拖拽时,获取当前是哪一屏,获取当前多少个应用图标的核心类

packages/apps/Launcher3/src/com/android/launcher3/Workspace.java
packages/apps/Launcher3/src/com/android/launcher3/CellLayout.java

3.Launcher3长按拖拽时,获取当前是哪一屏,获取当前多少个应用图标的核心功能实现和分析

首选来看Workspace.java源码 开始拖拽时会调用startDrag()
和beginDragShared(View child, DragSource source, DragOptions options) 等
相关方法

public void startDrag(CellLayout.CellInfo cellInfo, DragOptions options) {
View child = cellInfo.cell;
mDragInfo = cellInfo;
child.setVisibility(INVISIBLE);
if (options.isAccessibleDrag) {
mDragController.addDragListener(new AccessibleDragListenerAdapter(
this, CellLayout.WORKSPACE_ACCESSIBILITY_DRAG) {
@Overr

http://www.ppmy.cn/news/96526.html

相关文章

Solidity拓展:数学运算过程中数据长度溢出的问题

在数学运算过程中假如超过了长度则值会变成该类型的最小值,如果小于了该长度则变成最大值 数据上溢 uint8 numA 255; numA;uint8的定义域为[0,255],现在numA已经到顶了,numA会使num变成0(由于256已经超过定义域,它会越过256&…

Linux-0.11 文件系统open.c详解

Linux-0.11 文件系统open.c详解 模块简介 对于一个文件系统,需要提供一些封装好的系统调用提供给应用层调用。例如打开一个文件,对于应用层而言,其并不关心底层的inode和buffer_cache的操作。 open.c便是提供这样的一个功能。 同样是文件系…

IOC理解

1. Java反射 Java反射机制存在于运行时,对于任意一个类,都能获取这个类的所有属性和方法,对于任意一个对象,都能通过反射机制去调用它的属性和方法,这种动态获取类信息及动态调用对象方法的功能称为Java反射机制&#…

驱动开发——嵌入式(驱动)软开基础(九)

1 系统调用的作用? (1)为应用程序提供访问硬件资源的统一接口,以至于应用程序不必关心具体的硬件操作细节。 (2)对系统内核进行保护,保证系统的稳定和安全,因为系统调用规定了用户进程进入内核的具体方式以及所能访问的数据范围。 2 BootLoader、Linux内核、根文件系…

Java并发常见面试题

参考:javauide、程序员大斌、面试宝典 1.并发与并行的区别 并发:两个及两个以上的作业在同一 时间段 内执行。并行:两个及两个以上的作业在同一 时刻 执行。2.同步和异步的区别 同步:发出一个调用之后,在没有得到结果之前, 该调用就不可以返回,一直等待。异步:调用在发…

WPF界面设计

目录 1.设计一个优美的注册界面1.实现效果2.代码展示 2.简易登录按钮设计1.实现效果2.代码展示 3.设计一个优美的注册登录界面(连接数据库)1.实现效果2.代码展示 4.设计一个简单的在线教育系统界面1.实现效果2.代码展示 5. 设计一个Dashboard1.实现效果2…

医院管理系统详细设计说明书

详细设计说明书 1.引言 1.1编写目的 在完成了针对北京工商大学校医院的前期调查,同时与多位学生进行了全面深入的探讨和分析的基础上,提出了这份概要设计说明书。 此概要设计说明书对北京工商大学校医院管理系统网站做了全面细致的概要设计,…

低代码平台

aims https://aisuda.bce.baidu.com/amis/zh-CN/docs/start/getting-started