Android基礎控件——RecyclerView實現拖拽排序側滑刪除效果


RecyclerView實現拖拽排序側滑刪除效果

 

事先說明:

RecyclerView是ListView的升級版,使用起來比ListView更規范,而且功能和動畫可以自己添加,極容易擴展,同樣也繼承了ListView復用convertView和ViewHolder的優點。

 

思路分析:

1、導包、在布局中使用RecyclerView

2、需要一個JavaBean用來存儲展示信息

3、需要一個填充RecyclerView的布局文件

4、在代碼中找到RecyclerView,並為其綁定Adapter和觸摸事件

5、適配器的編寫、觸摸事件的處理

總體上跟ListView是一樣的,就是換了一種代碼風格

 

思路圖解:


 

 

效果一(線性布局): ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 效果二(網格布局):

? ?

 

步驟一:RecyclerView是在support.v7包,Android Studio則是recyclerview這個包

 

步驟二:創建布局文件,使用recyclerview

 

 
        


步驟三:創建一個javaBean,存儲item的信息

 

 

 
        

 

 

步驟四:創建itemView布局

 

 
        

 

 

步驟五:創建RecycleView的Adapter

 

 
         
         
        

思路分析:這里的實現的形式跟ListView有點不一樣,它繼承的不是BaseAdapter,繼承的是RecycleView的Adapter,並且泛型填一個ViewHolder,這個ViewHolder在該類中作為內部類實現,其他的實現跟ListView是一樣的

 

步驟六:代碼中使用

 

 
        

和ListView不同的是,這里必須寫這一句,不然View顯示不出來,也是這一句話可以控制布局為LinearLayout或者是GridView或者是瀑布流布局

 

 

 
        

 

 

步驟七:為recyclerView綁定觸摸事件,這里就是我們效果實現的全部代碼所在

 

 
        

思路分析:我們規定拖拽的動作是上下拖拽,而刪除效果是左右刪除。在拖拽事件中,就是通過集合的一個交換然后實現布局的更新,這里RecyclerView的adapter都幫我們實現好了,用起來很簡單,而刪除事件就是集合刪除一個數據,然后更新布局。

 

 

如果要實現效果二,可以做出類似桌面拖拽排序的效果,這個就請大家自由發揮吧,實現效果二,只要在效果一的基礎上修改兩處代碼即可:

 

 
        
 
        

 

 

當然還有一種瀑布流的效果,只需在效果二的基礎上修改一處代碼即可,如果要實現更復雜的效果,可以自行百度:

 

 
        

 

 

源碼是AndroidStudio的Module,建議用Import Module導入源碼下載


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM