私のアプリには、写真を2列に表示したグリッドビューの画面があります。ドラッグ エンド ドロップで写真を並べ替える機能を追加したいと考えています。私はAndroid 4.0を使用しており、Androidネイティブのドラッグアンドドロップを使用しました:
http://developer.android.com/guide/topics/ui/drag-drop.html
だから、私はすでにドラッグ&ドロップ機能を追加していますが、問題は、ユーザーが一番上の画像を一番下にドラッグしようとしたときにグリッドビューをスクロールする必要があることです。SmoothSctollTo() メソッドを使用してプログラムで gridView をスクロールすることは問題ではありませんが、アイテムをドラッグするときに、画面の下部に指があるかどうかを確認する必要があります。問題はそれです:
@Override
public boolean onDrag(final View v, final DragEvent event) {
Log.v("Coordinates", " " + v.getY());
switch (event.getAction()) {
case DragEvent.ACTION_DRAG_STARTED:
break;
case DragEvent.ACTION_DRAG_ENTERED:
break;
case DragEvent.ACTION_DRAG_EXITED:
break;
case DragEvent.ACTION_DROP:
break;
case DragEvent.ACTION_DRAG_ENDED:
break;
default:
break;
}
return true;
}
};
このすべてのイベントは、1 つの gridview アイテムが別のアイテムと交差する場合にのみ呼び出されます。しかし、アイテムをきれいな gridView スペースにドラッグすると、ドラッグ時に呼び出されません。アイテムをドラッグしたときに指の座標を取得するには?