拖放

  
接受来自另一个应用或应用内的拖放数据,并显示一致的拖放目标提示。
最新更新 稳定版 候选发布版 测试版 Alpha 版
2022 年 5 月 11 日 1.0.0 - - -

声明依赖项

要添加对 DragAndDrop 的依赖项,您必须将 Google Maven 代码库添加到您的项目中。如需了解更多信息,请阅读Google 的 Maven 代码库

在您的应用或模块的 build.gradle 文件中添加所需工件的依赖项

Groovy

dependencies {
    implementation "androidx.draganddrop:draganddrop:1.0.0"
}

Kotlin

dependencies {
    implementation("androidx.draganddrop:draganddrop:1.0.0")
}

如需了解有关依赖项的更多信息,请参阅添加构建依赖项

反馈

您的反馈有助于 Jetpack 变得更好。如果您发现新问题或有改进此库的建议,请告诉我们。在创建新问题之前,请先查看此库中现有的问题。您可以通过点击星形按钮为您已发现的问题投票。

创建新问题

如需了解更多信息,请参阅问题跟踪器文档

版本 1.0

版本 1.0.0

2022 年 5 月 11 日

androidx.draganddrop:draganddrop:1.0.0 已发布。版本 1.0.0 包含这些提交。

1.0.0 的主要功能

DropHelperdraganddrop 库的第一个成员,它是一个实用程序类,可简化拖放功能的实现。使用 DropHelper 可以指定拖放目标、自定义拖放目标高亮显示,并定义如何处理拖放的数据。

  • DropHelper 利用 Jetpack 的 OnReceiveContentListener 来提供拖放 ClipData 的目标特定处理。DropHelper 通过配置拖放目标来增强用户体验,以便在用户将内容拖到目标上方时显示高亮显示。嵌套类 DropHelper.Options 使您能够自定义默认高亮显示的显示效果。
  • DropHelperOnReceiveContentListener 附加到拖放目标,并配置拖放目标以监听拖放事件。使用 DropHelper 时,请勿将 OnDragListener 或其他 OnReceiveContentListener 附加到拖放目标。
  • DropHelper.Options 使您能够列出复杂拖放目标的视图层次结构中包含的所有 EditText 元素。如果存在任何此类元素,则必须以这种方式指定它们。DropHelper 可防止 EditText 元素在用户将数据拖到目标上方时从拖放目标窃取焦点。如果拖放 ClipData 包含文本和 URI 数据,则当 ClipData 被拖放时,DropHelper 会选择拖放目标中的一个 EditText 元素来处理文本数据。

如需了解更多信息,请参阅拖放开发者指南。

版本 1.0.0-rc01

2022 年 4 月 20 日

androidx.draganddrop:draganddrop:1.0.0-rc01 已发布。版本 1.0.0-rc01 包含这些提交。

  • 自上次测试版发布以来无变化。

版本 1.0.0-beta01

2022 年 3 月 23 日

androidx.draganddrop:draganddrop:1.0.0-beta01 已发布。版本 1.0.0-beta01 包含这些提交。

  • 自上次 Alpha 版发布以来无变化。

版本 1.0.0-alpha04

2022 年 2 月 23 日

androidx.draganddrop:draganddrop:1.0.0-alpha04 已发布。版本 1.0.0-alpha04 包含这些提交。

API 更改

  • 默认情况下,具有非空 localState 的 DragEvents 不会触发高亮显示。存在一个配置选项可更改此行为。(I55792)

版本 1.0.0-alpha03

2022 年 1 月 26 日

androidx.draganddrop:draganddrop:1.0.0-alpha03 已发布。版本 1.0.0-alpha03 包含这些提交。

新功能

  • 在运行 Android S 或更高版本的设备上,DropHelper 现在委托给 OnReceiveContentListener 的系统实现,自动提供对拖放以外的输入方法的支持。

版本 1.0.0-alpha02

2021 年 12 月 15 日

androidx.draganddrop:draganddrop:1.0.0-alpha02 已发布。版本 1.0.0-alpha02 包含这些提交。

初始版本中的功能

DropHelperdraganddrop 库的第一个成员,它是一个实用程序类,可简化拖放功能的实现。使用 DropHelper 可以指定拖放目标、自定义拖放目标高亮显示,并定义如何处理拖放的数据。

DropHelper 利用 Jetpack 的 OnReceiveContentListener 来提供拖放 ClipData 的目标特定处理。DropHelper 通过配置拖放目标来增强用户体验,以便在用户将内容拖到目标上方时显示高亮显示。嵌套类 DropHelper.Options 使您能够自定义默认高亮显示的颜色和圆角半径。

DropHelper.Options 还使您能够列出复杂拖放目标的视图层次结构中包含的所有 EditText 元素。DropHelper 可防止 EditText 元素在用户将数据拖到目标上方时从拖放目标窃取焦点。如果拖放 ClipData 包含文本和 URI 数据,则当 ClipData 被拖放时,DropHelper 会选择拖放目标中的一个 EditText 元素来处理文本数据。

如需了解更多信息,请参阅拖放开发者指南。