带有ItemTouchHelper的RecyclerView只能部分刷卡

时间:2016-07-05 14:26:46

标签: android android-recyclerview swipe itemtouchhelper

我有一个包含以下项目的Recyclerview列表:

list item

红色正方形只能我们可以向左滑动(拖放),绿色可以向右滑动。滑动元素时,使用如下选项显示和图像:

-swipe left:

swipe left

-swipe right: swipe right

布局项目具有以下外观:

<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以生成正确的动画。但我不能用方形按住,并制作正确的动画。 ¿另一种方法来实现这一目标?

1 个答案:

答案 0 :(得分:0)

基于很多示例,通过在RecycleView中创建自己的Callback侦听器很容易。就像在this example中一样。你需要提供自己的行为。

上面链接中的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);
    }