Android RecyclerView 完全解析

什麼是RecyclerView

你想要控制其顯示的方式,請通過佈局管理器LayoutManager
你想要控制Item間的間隔(可繪製),請通過ItemDecoration
你想要控制Item增刪的動畫,請通過ItemAnimator
![RecyclerView能幹什麼][1]
RecycleView
1、不關心Item是否顯示在正確的位置,如何顯示 —–用LayoutManager
2、不關心Item間如何分隔 —–ItemDecoration
3、不關注Item增加與刪除的動畫效果 —-ItemAnimator
4、僅僅關注如何回收與複用View

RecycleView相關的重要的類
1、Adapter
2、ViewHolder
3、LayoutManager
4、ItemDecoration
5、ItemAnimator

RecycleView能幹什麼
1、Just like Listview —–用LayoutManager
2、Just like GridView —–用LayoutManager
3、橫向ListView —–用LayoutManager
4、橫向GridView —–用LayoutManager
5、瀑布流 —–用LayoutManager
6、定製Item增加與刪除動畫 —-ItemAnimator
RecycleView 設計思想:
不關心內部的item是否顯示在正確的位置,如何顯示<—–LayoutManager(設置LinearLayoutManager,GridLayoutManager)
不關心item間如何分隔<——–ItemDecoration(ListView可以通過Divider來設置)
不關心item增加與刪除的動畫效果<——ItemAnimator(可實現其子類)
僅僅關注如何回收與複用view

屬於一個插件式的架構,通過三個類的組合來實現需求

相關的重要類:
Adapter(自己的適配器)
ViewHolder(強制使用)
LayoutManager
ItemDecoration(分隔效果)
ItemAnimator(動畫效果)

RecyclerView能實現:
依賴於LayoutManager的設置
1、Just like ListView(顯示傳統ListView的風格)
2、Just like GridView(顯示傳統GridView的風格)
3、橫向ListView
4、橫向GridView
5、瀑布流
依賴於ItemAnimator的設置
6、定製Item增加與刪除動畫
![listview和gridview等排列方式點轉換,同時滿足漂亮的添加刪除][2]

實現ListView

繼承Adapter
創建ViewHolder
構造函數傳遞參數進來,LayoutInflater用於得到佈局
getItemCount()返回list大小
onCreateViewHolder()創建剛剛給的MyViewHolder(佈局view)
在ViewHolder傳入的View後,初始化控件,設置屬性
onBindViewHolder()中給holder中控件賦值
回到Activity中給RecylerView設置layoutmanager(linear 或者grid)
![ViewHolder][3]
![此處輸入圖片的描述][4]
initDatas();initViews();
mRecyclerView.setAdapter(new SimpleAdapter(this,mDatas));
linearLayoutManager= new LinearLaoutManager(this,xx,xx);
mRecyclerView.setLayoutManager(linearLayoutManager);
![gradle配置recylerView導包][5]

添加分割線

![使用這時RecylerView分割線 .addItemDecoration(),增加一個類][6]
![補充分割線][7]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章