国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

RecyclerView的基本用法

2019-11-07 23:30:39
字體:
來源:轉載
供稿:網友
RecyclerView的基本用法

RecyclerView的實現是比較簡單的,只需要三步:1、設置布局管理器:public void setLayoutManager(LayoutManager layout);查看源碼可知LayoutManager是一個抽象類,實現這個抽象類的有:
(1)LinearLayoutManager(線性布局管理器);(2)GridLayoutManager(網格布局管理器);(3)StaggeredGridLayoutManager(瀑布流式管理器);2、RecyclerView的分割線需要自己添加,源碼提供了一個方法來實現:public void addItemDecoration(ItemDecoration decor);沿著源碼繼續追溯,發現ItemDecoration是一個抽象類,那么我們就可以通過創建一個類繼承它,從而實現自定義的分割線,下一篇再講解。當然,也有比較簡單的方法就能完成我們的基本需求了。DividerItemDecoration就是提供給我們的已經繼承了ItemDecoration的一個類。/***DividerItemDecoration的構造方法*@param context Current context*@param orientation Divider orientation.*/public DividerItemDecoration(Context context, int orientation);//根據構造方法創建對象DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(this, DividerItemDecoration.VERTICAL);//添加分割線recyclerView.addItemDecoration(dividerItemDecoration);那么如果我想要別的風格的分割線呢?自定義分割線對于初學者來說確實是有難度的,那怎么辦呢?我們可以修改默認的分割線風格,繼續分析DividerItemDecoration這個類的源碼: PRivate static final int[] ATTRS = new int[]{ android.R.attr.listDivider };  public DividerItemDecoration(Context context, int orientation) {        final TypedArray a = context.obtainStyledAttributes(ATTRS);        mDivider = a.getDrawable(0);        a.recycle();        setOrientation(orientation);    }因此我們可以自己定義一個drawable:divider_bg.xml將定義好的drawable替換默認的分割線風格,stytles.xml:<style name="APPTheme" parent="Theme.AppCompat.Light.DarkActionBar"><item name="android:listDivider">@drawable/divider_bg</item></style>當然對于分割線,有的人比較簡單粗暴,直接就是設置item之間的邊距,加上修飾的背景顏色也可以達到目的。3、設置適配器public void setAdapter(Adapter adapter);那么我們需要創建一個適配器對象,追著源碼看:public static abstract class Adapter<VH extends ViewHolder> {}顯然,Adapter也是個抽象類,我們需要自己實現。總結:RecyclerView結構層次清晰,高度解耦,輕松的就能實現了ListView和GridView的相關功能,但是item的點擊事件需要自己實現。那么下一篇就分析RecyclerView如何實現點擊事件。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洛阳市| 平塘县| 柳州市| 胶南市| 湛江市| 个旧市| 隆昌县| 吴桥县| 昌吉市| 响水县| 新蔡县| 巴青县| 同仁县| 泸水县| 贵阳市| 阿勒泰市| 霍城县| 鸡东县| 台安县| 库车县| 常德市| 句容市| 谷城县| 青冈县| 呼玛县| 莲花县| 邢台市| 大余县| 乌拉特中旗| 怀集县| 修水县| 彰化市| 夹江县| 义乌市| 称多县| 额济纳旗| 三台县| 青河县| 鄢陵县| 湖南省| 西丰县|