如何在没有第三方库的RecyclerView项目上轻扫手势

T_C*_*T_C 14 animation android slide android-recyclerview

他们是否直接支持在RecyclerView项目上删除/存档幻灯片(从右到左或从左到右).

而不是删除/存档我想要列表项下的四个按钮.

类似这样的https://github.com/47deg/android-swipelistview但是对于recyclerview和官方支持而不是任何第三方lib

Nem*_*vic 9

是的,您可以使用支持库提供的ItemTouchHelper类来完成它.

PS我前几天必须这样做,并且如果可能的话也想避免使用第三方库.该库可能比您需要的更多,因此在您的情况下它可能比必要的更复杂.它也可以不必增加您的方法计数.这只是为什么你应该避免添加lib作为问题的快速修复的一个原因的一个例子.

编辑:我有一个去,看看这篇博文和这个github回购.


heh*_*ehe 5

就在这里。使用ItemTouchHelper。尝试克隆此项目,并查看其用法。

有关特定文件,请参见第87行

对于不想单击链接的懒惰人,这是您的设置方法:

    ItemTouchHelper.SimpleCallback simpleCallback =
            new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.RIGHT) {
                @Override
                public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder,
                                      RecyclerView.ViewHolder target) {
                    return false;
                }

                @Override
                public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
                    //do things
                }
            };

    ItemTouchHelper itemTouchHelper = new ItemTouchHelper(simpleCallback);
    itemTouchHelper.attachToRecyclerView(recyclerView);
Run Code Online (Sandbox Code Playgroud)

recyclerView是变量保持回收视图。

除了ItemTouchHelper.RIGHT,还有其他指示,请尝试进行实验。

  • 并不是人们会懒惰地单击链接,而是今天您提供的所有链接不再有效,这就是为什么始终在答案中包括相关代码而不仅仅是链接的原因。 (4认同)