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