0

次のようなアイテムを含む recyclerview リストがあります。

リスト項目

赤い四角形は左にスワイプ (ドラッグ アンド ドロップ アウト) することしかできず、緑の四角形は右にスワイプすることしかできません。要素がスワイプされると、次のようなオプションが表示され、画像が表示されます。

-左スワイプ:

左スワイプ

-右にスワイプ: 右にスワイプ

レイアウト アイテムの外観は次のとおりです。

<RelativeLayout>
   <LinearLayout>
      <ImageView/> //Red square
      <ImageView/>  //Green square
   </LinearLayout>
   <LinearLayout>
      <ImageView/>  //Red square swiped action
      <ImageView/>  //Green square swiped action
   </LinearLayout>
</RelativeLayout>

私はこれを実行しようとしてItemTouchHelper.Callbackおり、メソッドをオーバーライドしonChildDrawて正しいアニメーションを作成しています。しかし、四角がスワイプされた状態で保持できず、正しいアニメーションを作成します。これを達成する別の方法はありますか?

4

1 に答える 1

0

多くの例に基づいて、RecycleView で独自の Callback リスナーを作成するのは簡単です。この例のように。独自の動作を提供する必要があります。

上記のリンクの SimpleItemTouchHelperCallback の例。

    @Override
    public int getMovementFlags(RecyclerView recyclerView, ViewHolder viewHolder) {
        int dragFlags = ItemTouchHelper.UP | ItemTouchHelper.DOWN;
        int swipeFlags = ItemTouchHelper.START | ItemTouchHelper.END;

        //Four your Red field use flags
        int redFlags = ItemTouchHelper.START;

        //Four your Green field use flags
        int greenFlags = ItemTouchHelper.END;

        return makeMovementFlags(dragFlags, swipeFlags);
    }
于 2016-07-05T14:44:26.567 に答える