元件RecyclerView的應用 一

2022-05-14 01:18:55 字數 2169 閱讀 1786

首先我們知道recyclerview元件是listview的公升級版,今天先介紹基礎的recyclerview的基本布局recyclerview.adapter和layoutmanager

第一:layoutmanager

我們知道listview只能在垂直方向上滾動,android api沒有提供listview在水平方向上面滾動的支援。或許有多種方式實現水平滑動,listview並不是設計來做這件事情的。但是recyclerview相較於listview,在滾動上面的功能擴充套件了許多。它可以支援多種型別列表的展示要求,主要如下:

linearlayoutmanager ,可以支援水平和豎直方向上滾動的列表。

staggeredgridlayoutmanager ,可以支援交叉網格風格的列表,類似於瀑布流或者pinterest。

gridlayoutmanager ,支援網格展示,可以水平或者豎直滾動,如展示的畫廊。

因此recyclerview相對於listview來說自定義性擴充套件了很多

第二:recyclerview.adapter和listview的baseadapter不同之處在於:baseadapter都是在getview乙個方法中實現的,包括view的例項化以及元件的繫結。在recyclerview.adapter中,則提供了recyclerview.viewholder機制,這個類必須我們自己定義,主要是用來儲存檢視的類,主要在oncreateviewholder中實現view的儲存

public static class viewholder extends recyclerview.viewholder

}

@override

public recyclerview.viewholder oncreateviewholder(viewgroup parent, int viewtype)

另外還需要實現getcount()方法,也就是返回item的數量,另外 onbindviewholder()方法實現對應的元件和資料繫結

@override

public void onbindviewholder(recyclerview.viewholder holder, int position)

以下為我寫的基本實現recyclerview功能的一段小**

/**介面卡類

**/

public class recycleradapter extends recyclerview.adapter 

layoutinflater = layoutinflater.from(context);

}@override

public recyclerview.viewholder oncreateviewholder(viewgroup parent, int viewtype)

@override

public void onbindviewholder(recyclerview.viewholder holder, int position)

@override

public int getitemcount()

public static class viewholder extends recyclerview.viewholder

}}

主介面**  

mrecyclerview = (recyclerview)pagelist.get(sport).findviewbyid(r.id.recyclerview);

mrecyclerview.sethasfixedsize(true);

mlinearlayoutmanager = new linearlayoutmanager(this);

mlinearlayoutmanager.setorientation(orientationhelper.vertical);

recycleradapter mrecycleradapter = new recycleradapter(this);

mrecyclerview.setlayoutmanager(mlinearlayoutmanager);

mrecyclerview.setadapter(mrecycleradapter);

注:pagelist.get(sport)為自己定義的乙個例項化view,讀者可以根據自己需要定製不同的xml檔案並將其實例化為view

RecyclerView的簡單使用

recyclerview 和 listview 一樣都是通過維護少量的view來展示大量的資料,不同的是recyclerview提供了一種插拔式的體驗,高度解耦,同時使用起來更加靈活。recyclerview可以通過設定layoutmanager oritation itemanimation it...

關於RecyclerView的Adapter封裝

專案開發中會涉及到很多列表的頁面。如果每個頁面都寫乙個adapter,我們估計會瘋掉。我現在的目的就是在保證質量的同時要寫更少的 所以,封裝唄。recyclerview有自己的adapter和檢視管理。我們只需要把例項化時要傳入的引數泛型抽象,對不同的view實現不同的獲取與設定內容的方法即可。ad...

RecyclerView 的使用流程

一 加入依賴 使用 as 自帶的依賴管理工具加入recyclerview的依賴,注意和和編譯版本號一致 二 在布局檔案中加入 recyclerview控制項 android id id main recylist android layout width wrap content android l...