DragAndDrop

  
別のアプリからの、またはアプリ内でのドラッグ&ドロップデータを受け入れ、一貫したドロップ ターゲット アフォーダンスを表示します。
最新の更新 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
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 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。

新しい問題を報告する

詳細については、Issue Tracker のドキュメントをご覧ください。

バージョン 1.0

バージョン 1.0.0

2022 年 5 月 11 日

androidx.draganddrop:draganddrop:1.0.0 がリリースされました。バージョン 1.0.0 に含まれる commit については、こちらをご覧ください

1.0.0 の主な機能

draganddrop ライブラリの最初のメンバーである DropHelper は、ドラッグ&ドロップ機能の実装を簡素化するユーティリティ クラスです。DropHelper によって、ドロップ ターゲットの指定、ドロップ ターゲットのハイライト表示のカスタマイズ、ドロップされたデータの処理方法の定義が可能です。

  • DropHelper は、Jetpack の OnReceiveContentListener を利用して、ドラッグ&ドロップの ClipData に対するターゲット固有の処理を提供します。DropHelper を使用すると、ユーザーがターゲット上にコンテンツをドラッグしたときにハイライト表示されるようにドロップ ターゲットを設定して、ユーザー エクスペリエンスを向上させることができます。また、DropHelper.Options ネストクラスを使用することで、デフォルトのハイライトの外見をカスタマイズできます。
  • DropHelper を使用すると、OnReceiveContentListener をドロップ ターゲットにアタッチして、ドロップ ターゲットがドラッグ&ドロップ イベントをリッスンするように設定できます。DropHelper を使用する場合、OnDragListener や追加の OnReceiveContentListener をアタッチしてターゲットをドロップすることは避けてください。
  • DropHelper.Options を使用すると、複雑なドロップ ターゲットのビュー階層に含まれるすべての EditText 要素を一覧表示できます。その要素がある場合は、このように指定する必要があります。DropHelper は、ユーザーがターゲット上にデータをドラッグしたときに EditText 要素がドロップ ターゲットからフォーカスを奪取することを防ぎます。ドラッグ&ドロップの ClipData にテキストと URI データが含まれる場合、DropHelper は、ClipData がドロップされたときにテキストデータを処理するドロップ ターゲット内の EditText 要素の一つを選択します。

詳しくは、ドラッグ&ドロップのデベロッパー ガイドをご覧ください。

バージョン 1.0.0-rc01

2022 年 4 月 20 日

androidx.draganddrop:draganddrop:1.0.0-rc01 がリリースされました。バージョン 1.0.0-rc01 に含まれる commit については、こちらをご覧ください

  • 前回のベータ版リリースからの変更はありません。

バージョン 1.0.0-beta01

2022 年 3 月 23 日

androidx.draganddrop:draganddrop:1.0.0-beta01 がリリースされました。バージョン 1.0.0-beta01 に含まれる commit については、こちらをご覧ください

  • 前回のアルファ版リリースからの変更はありません。

バージョン 1.0.0-alpha04

2022 年 2 月 23 日

androidx.draganddrop:draganddrop:1.0.0-alpha04 がリリースされました。バージョン 1.0.0-alpha04 に含まれる commit については、こちらをご覧ください

API の変更

  • null ではない localState を持つ DragEvents が、デフォルトでハイライトをトリガーしなくなりました。この動作を変更する構成オプションがあります。(I55792

バージョン 1.0.0-alpha03

2022 年 1 月 26 日

androidx.draganddrop:draganddrop:1.0.0-alpha03 がリリースされました。バージョン 1.0.0-alpha03 に含まれる commit については、こちらをご覧ください

新機能

  • Android S 以降を搭載したデバイスでは、DropHelper から OnReceiveContentListener のシステム実装へのデリゲートが行われ、ドラッグ&ドロップ以外の入力方法が自動的にサポートされるようになりました。

バージョン 1.0.0-alpha02

2021 年 12 月 15 日

androidx.draganddrop:draganddrop:1.0.0-alpha02 がリリースされました。バージョン 1.0.0-alpha02 に含まれる commit については、こちらをご覧ください。

初回リリースの機能

draganddrop ライブラリの最初のメンバーである DropHelper は、ドラッグ&ドロップ機能の実装を簡素化するユーティリティ クラスです。DropHelper によって、ドロップ ターゲットの指定、ドロップ ターゲットのハイライト表示のカスタマイズ、ドロップされたデータの処理方法の定義が可能です。

DropHelper は、Jetpack の OnReceiveContentListener を利用して、ドラッグ&ドロップの ClipData に対するターゲット固有の処理を提供します。DropHelper を使用すると、ユーザーがターゲット上にコンテンツをドラッグしたときにハイライト表示されるようにドロップ ターゲットを設定して、ユーザー エクスペリエンスを向上させることができます。また、DropHelper.Options ネストクラスを使用することで、デフォルトのハイライトの色と角の丸みをカスタマイズできます。

DropHelper.Options を使用すると、複雑なドロップ ターゲットのビュー階層に含まれるすべての EditText 要素を一覧表示することもできます。DropHelper は、ユーザーがターゲット上にデータをドラッグしたときに EditText 要素がドロップ ターゲットからフォーカスを奪取することを防ぎます。ドラッグ&ドロップの ClipData にテキストと URI データが含まれる場合、DropHelper は、ClipData がドロップされたときにテキストデータを処理するドロップ ターゲット内の EditText 要素の一つを選択します。

詳しくは、ドラッグ&ドロップのデベロッパー ガイドをご覧ください。