DragAndDrop

  
接受来自其他应用或应用内的拖放数据,并显示一致的拖放目标可视效果。
最近更新时间 稳定版 候选版 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")
}

如需详细了解依赖项,请参阅添加 build 依赖项

反馈

您的反馈将帮助我们改进 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 嵌套类,您可以自定义默认突出显示效果的外观。
  • DropHelper 会将 OnReceiveContentListener 附加到拖放目标,并配置拖放目标以监听拖放事件。使用 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 变更

  • 默认情况下,具有非 null localState 的 DragEvent 不会触发突出显示效果。您可以通过一个配置选项更改此行为。(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 元素来处理文本数据。

如需了解详情,请参阅拖放方面的开发者指南。