Android上面有許多的教程, 庫和示例, 在RecyclerView上面實(shí)現(xiàn)"拖放"和"滑動(dòng)刪除"功能. 盡管有更新, 更好的方法可用, 但是大多數(shù)人依然使用舊的View.OnDragListener和Roman Nurik的SwipeToDismiss方式. 除了經(jīng)常使用GestureDetector和onInterceptTouchEvent之外, 幾乎很少有人使用新的API, 要不然的話, 實(shí)現(xiàn)就復(fù)雜. 事實(shí)上真的有十分簡(jiǎn)單的方式在RecyclerView上面添加這兩個(gè)功能. 它只要求一個(gè)類, 而且這個(gè)類已經(jīng)是Android支持包的一部分.

 

ItemTouchHelper

 

ItemTouchHelper是一個(gè)強(qiáng)大的通用程序, 在RecyclerView上面添加"拖放"和"滑動(dòng)刪除"時(shí), 你所需要做的所有事情, 它都會(huì)負(fù)責(zé)處理. 它是RecyclerView.ItemDecoration的子類, 這意味著它可以輕易地添加到任何已經(jīng)存在的LayoutManager和Adapter上面! 它不會(huì)影響添加到item上的動(dòng)畫, 并且支持類別嚴(yán)格的"拖", 以及"放"時(shí)的動(dòng)畫, 還可以支持更多. 

 

網(wǎng)友評(píng)論