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

Launcher3桌面页面布局结构

桌面页面布局结构

一、最外层容器

  • LauncherRootView
    继承自InsettableFrameLayout,作为桌面布局的最外层容器,包含所有桌面相关视图。

二、核心交互容器:DragLayer

继承自BaseDragLayer(父类为InsettableFrameLayout),负责处理拖动事件,包含以下子视图:

1. 主桌面区域(Workspace)

  • 类型:继承自PagedView(支持左右滑动切换页面)
  • 作用:承载桌面图标和部件的主要区域
  • 子结构:
    • 包含多个CellLayout(数量 = 桌面页数,一页对应一个CellLayout
      • CellLayout(继承自ViewGroup):规范排列内容,内部包含ShortcutAndWidgetContainer
        • ShortcutAndWidgetContainer(继承自ViewGroup):直接承载图标视图
          • DoubleShadowBubbleTextView:应用图标(继承自BubbleTextView,带文字和阴影)

2. 底部固定区域(Hotseat)

  • 类型:继承自CellLayout
  • 作用:存放桌面底部4个常用图标
  • 特性:不随页面切换滑动,始终固定显示
  • 子结构:同CellLayout,包含ShortcutAndWidgetContainerDoubleShadowBubbleTextView

3. 辅助功能视图

  • WorkspacePageIndicator:页面切换指示器(原点形式,显示当前页码和总页数)
  • DropTargetBar(继承自FrameLayout):卸载图标时弹出的操作面板
  • Folder(继承自AbstractFloatingView):点击文件夹时显示,内部结构:
    • FolderPagedViewCellLayoutShortcutAndWidgetContainerBubbleTextView

4. 多任务相关视图

  • LauncherRecentsView:多任务页面(继承自RecentsView,父类PagedView
    • 特性:桌面显示时隐藏,包含多个TaskView(每个对应一个运行中任务)
  • OverviewActionsView:截图时显示,带分享图片按钮
  • ClearAllButton(继承自Button):多任务页面的“清除所有任务”按钮
http://www.dtcms.com/a/273933.html

相关文章:

  • JavaScript加强篇——第四章 日期对象与DOM节点(基础)
  • 基于 HT 技术的智慧交通三维可视化技术架构与实践
  • 全球化 2.0 | 印尼金融科技公司通过云轴科技ZStack实现VMware替代
  • Spring的事务控制——学习历程
  • Kuberneres高级调度01
  • 如何使用Fail2Ban阻止SSH暴力破解
  • ICCV2025接收论文速览(1)
  • 导出word并且插入图片
  • 【C++ 深入解析 C++ 模板中的「依赖类型」】
  • 「Linux命令基础」Shell命令基础
  • PC网站和uniapp安卓APP、H5接入支付宝支付
  • 基于ASP.NET+SQL Server实现(Web)企业进销存管理系统
  • 《探索电脑麦克风声音采集多窗口实时可视化技术》
  • 【Springboot】Bean解释
  • Jenkins 自动触发执行的配置
  • Ntfs!NtfsCheckpointVolume函数中的Ntfs!LfsFlushLfcb函数对Lfcb->LogHeadBuffer进行了赋值--重要
  • 冒泡、选择、插入排序:三大基础排序算法深度解析(C语言实现)
  • 模型训练的常用方法及llama-factory支持的数据训练格式
  • [论文阅读] 人工智能 + 软件工程 | LLM辅助软件开发:需求如何转化为代码?
  • GPT和MBR分区
  • SLICEGPT: COMPRESS LARGE LANGUAGE MODELSBY DELETING ROWS AND COLUMNS
  • 匿名函数作递归函数引用
  • Immutable
  • MetaMask 连接其他网络,连接本地的 Anvil 区块链节点
  • 在Windows非Docker环境安装Redis的几种方法
  • pytest+yaml+allure接口自动化测试框架
  • 在 Postman 中高效生成随机环境变量的完整指南
  • 鸿蒙app 开发中的Record<string,string>的用法和含义
  • 深入探索Kafka Streams:企业级实时数据处理实践指南
  • 关闭 GitLab 升级提示的详细方法