拖放

  
接受来自其他应用或应用内的拖放数据,并显示一致的放置目标提示。
最新更新 稳定版 候选版本 测试版 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 包含这些提交。

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

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