Android 拖放框架允许您向应用添加交互式拖放功能。使用拖放,用户可以复制或移动文本、图像、对象以及任何可以由 URI 表示的内容,从应用中的一个 View
到另一个,或在 多窗口模式 下在应用之间移动。
|
|
该框架包括拖动事件类、拖动侦听器以及辅助类和方法。虽然主要设计用于启用数据传输,但您可以将框架用于其他 UI 操作。例如,您可以创建一个应用,当用户将颜色图标拖动到另一个图标上时,该应用会混合颜色。但是,本文档的其余部分将在数据传输的上下文中描述拖放框架。
概述
拖动过程中涉及一些元素。
拖动源:拖放过程的起点视图。
放置目标:可以接受拖动数据的视图。
拖动阴影:拖动阴影是正在拖动的数据的表示,对用户可见。
拖动事件:当用户将拖动阴影移动到应用布局上时,系统会将拖动事件发送到布局中
View
对象关联的拖动事件侦听器和回调方法。
当用户做出应用识别为开始拖动数据的 UI 手势时,拖放操作开始。作为响应,应用会通知系统拖放操作正在开始。系统回调到您的应用以获取拖动阴影,并在拖放过程中将其显示给用户。
当用户将拖动阴影移动到应用布局上时,系统会将拖动事件发送到布局中 View
对象关联的拖动事件侦听器和回调方法。如果用户在放置目标上释放拖动阴影,系统会将数据发送到放置目标。当用户释放拖动阴影时,拖放操作结束,无论拖动阴影是否位于放置目标上。
主题
- 关键概念
- 了解拖放过程。
- 用于简化拖放的 DropHelper
- 了解如何使用
DropHelper
实现拖放。 - 使用视图实现拖放
- 或者,使用 Android 视图实现拖放,这允许开发人员更好地控制细节。
- 多窗口模式下的拖放
- 在多窗口模式下支持拖放,允许对象跨不同应用程序移动。
其他资源
- 使用视图的拖放 Codelab
- 无缝多任务处理的拖放 视频
- 拖放示例,其中包含各种实现拖放以及接受富媒体的方法。