借助 Android 拖放框架,您可以向应用添加互动式拖放功能。通过拖放,用户可以将文本、图片、对象和可由 URI 表示的任何内容从应用内的一个 View
复制到另一个 View
,或在多窗口模式下在应用之间复制或移动。
|
|
该框架包括拖动事件类、拖动监听器以及辅助程序类和方法。虽然该框架主要用于实现数据传输,但您也可以将该框架用于其他界面操作。例如,您可以创建一个应用,以便在用户将一个颜色图标拖到另一个图标上时进行颜色混合。不过,文档的其余部分介绍了数据传输上下文中的拖放框架。
概览
拖动过程中会涉及到一些元素。
拖动来源:拖放过程的起点。
拖放目标:可接受拖动数据的视图。
拖动阴影:拖动阴影表示用户正在拖动的数据。
拖动事件:当用户在应用的布局上移动拖动阴影时,系统会向与布局中的
View
对象关联的拖动事件监听器和回调方法发送拖动事件。
当用户做出应用识别为开始拖动数据的信号的界面手势时,拖放操作便会开始。作为响应,应用会通知系统正在开始拖放操作。系统会回调您的应用,以获取拖动阴影,并在拖放过程中向用户显示该阴影。
当用户在应用布局上移动拖动阴影时,系统会向与布局中的 View
对象关联的拖动事件监听器和回调方法发送拖动事件。如果用户将拖动阴影释放到拖放目标上,系统会向其发送数据。拖放操作会在用户释放拖动阴影时结束,无论拖动阴影是否在拖放目标上。
主题
- 主要概念
- 了解拖放流程。
- 借助 DropHelper 简化拖放
- 了解如何使用
DropHelper
实现拖放。 - 使用 View 实现拖放
- 或者,使用 Android View 实现拖放,这样开发者可以更好地控制细节。
- 在多窗口模式下拖放
- 支持在多窗口模式下进行拖放,允许对象在不同应用之间移动。