アイテムを画面の端(左または右)近くにドラッグすると、現在のタブの変更を実装する必要があります。ドラッグ項目をスクリーンエッジフィーチャーに実装する
ドラッグアンドドロップ機能と現在のタブスイッチに問題はありません。私はちょうどこのイベントを正しく処理できません - ドラッグされたアイテムが画面の端近くにあるとき。
どうすればよいですか?
<FrameLayout
android:id="@+id/left_toggle_area"
android:layout_width="30dp"
android:layout_height="fill_parent"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true">
</FrameLayout>
<FrameLayout
android:id="@+id/right_toggle_area"
android:layout_width="30dp"
android:layout_height="fill_parent"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true">
</FrameLayout>
<GridView
android:layout_width="match_parent"
android:layout_height="match_parent"
... />
アイデアは時にドラッグしたアイテムのトグルエリアでのプログラムで現在のタブを変更することです:私が試した何
。
しかし、このエリアのイベントDragEvent.ACTION_DRAG_ENTERED
は決して発生しません(私はそう信じているから)GridView
は画面全体を取り、単純にトグルエリアと重なります。
ドラッグ開始イベントが発生したときに、すでにその領域を前面に持ってきてみました。しかし、それは何らかの理由で機能しません。
FrameLayout toggleView = (FrameLayout) v;
toggleView.bringToFront();
toggleView.requestLayout();
toggleView.invalidate();
誰でもこのような問題に直面した場合は、あなたの経験を共有してください。それとももっと良い解決法がありますか?私にヒントを与えてください。
私は私の現在のソリューションを掲載しました。しかし、問題に言及されているドラッグ領域を使用することを依然として好みます。ですから誰にでもアイデアがあれば歓迎してください。 – AnZ
を削除してもタブを変更したくない場合は、 –
はい、 'DragEvent.ACTION_DRAG_ENTERED'イベントで現在のタブを変更したいところです – AnZ