拖放

  
接受来自其他应用或应用内的拖放数据,并显示一致的放置目标提示。
最新更新 稳定版 候选版本 Beta 版 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 数据,则 DropHelper 会选择拖放目标中的一个 EditText 元素来处理文本数据,当 ClipData 被放下时。

有关更多信息,请参阅 拖放 开发人员指南。

版本 1.0.0-rc01

2022 年 4 月 20 日

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

  • 自上次 Beta 版本以来没有变化。

版本 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 数据,则 DropHelper 会选择拖放目标中的一个 EditText 元素来处理文本数据,当 ClipData 被放下时。

有关更多信息,请参阅 拖放 开发人员指南。