[CymChad/BaseRecyclerViewAdapterHelper]多类型item拖曳怎么做

2024-08-08 969 views
9

多类型item的且可以拖曳的怎么做?怎么让它同时拥有BaseItemDraggableAdapter和BaseMultiItemQuickAdapter的功能?

回答

1

我尝试把BaseItemDraggableAdapter加上MultiItem的效果了 但是拖曳的item只能在与它同类型的地方插入 请问该怎样改

2

默认不支持多个不同的 ViewType 之间进行拖拽,如果开发者有所需求:

重写ItemDragAndSwipeCallback里的onMove()方法,return true即可

6

如何做到只有在长按的时候拿到触摸的x y坐标?即在OnItemDragListener的onItemDragStart方法里去获取 image

0

@huangchaoqingcheng 在OnItemDragListener是获取不到坐标的,本库的拖拽功能是建立在ItemTouchHelper上,ItemTouchHelper也没有提供有接口获取坐标,你如果需要xy坐标的话需要重写ItemTouchHelper的updateDxDy方法,具体请看https://stackoverflow.com/a/32788285/2444365

2

长按拖曳后交换位置的时候怎么设置交换时的一个动画? 如下第一个图交换位置的时候感觉很平滑 第二个图没有设置任何效果,交换位置时候感觉很生硬,,怎么做到像第一个图那样的交换效果呢?

true false

2

问下 4.0 版本中遇到这个问题,怎么解决?这个 api 貌似没了

3

重写这个可以了

public class MutilTypeDragAndSwip extends QuickDragAndSwipe {
    @Override
    public boolean onMove(@NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder, @NonNull RecyclerView.ViewHolder target) {
        return true;
    }
}