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

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

RecyclerView的升級使用--------(二)

2019-11-06 09:46:23
字體:
來源:轉載
供稿:網友

      寫過基礎的RecyclerView之后也是不明白為什么那么多人喜歡用RecyclerView,那么復雜,現在終于知道啦。

RecycleView是一種新的視圖組,目標是為任何基于適配器的視圖提供相似的渲染方式。該控件用于在有限的窗口中展示大量數據集,它被作為ListView和GridView控件的繼承者。

那么有了ListView、GridView為什么還需要RecyclerView這樣的控件呢?整體上看RecyclerView架構,提供了一種插拔式的體驗,高度的解耦,異常的靈活,通過設置它提供的不同LayoutManager,ItemDecoration , ItemAnimator實現令人瞠目的效果

你想要控制其顯示的方式,請通過布局管理器LayoutManager

· 你想要控制Item間的間隔(可繪制),請通過ItemDecoration

· 你想要控制Item增刪的動畫,請通過ItemAnimator

· 你想要控制其顯示的方式,請通過布局管理器LayoutManager

         你想要控制點擊,長按事件,請自己寫

   下面來寫一下RecyclerView的Item間的間隔(divier)的繪制,以及通過布局管理器LayoutManager來控制其顯示的方式。

        并且自己來寫Item的點擊事件,首先點擊事件是寫在Adapter里面的,不多說,上圖。

       

interface OnItemClickListener{    void Click(View v ,int pos , String str);}
PRivate OnItemClickListener listener;
public void setOnItemClickListener(OnItemClickListener listener){    this.listener = listener;}

準備工作就到這里了,然后在需要點擊監聽的地方調用方法就Ok了,在這里我們需要在item點擊調用,so

public MyViewHolder(View itemView) {    super(itemView);    textView = (TextView) itemView.findViewById(R.id.id_demo_text);    itemView.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View v) {            if (listener != null){                listener.Click(v,getLayoutPosition(),mDatas.get(getLayoutPosition()));            }        }    });}我們再次回到我們的activity代碼里面

adapter.setOnItemClickListener(new MyAdapter.OnItemClickListener() {    @Override    public void Click(View v, int pos, String str) {        Toast.makeText(MainActivity.this,"哈哈哈"+mDatas.get(pos),Toast.LENGTH_SHORT).show();    }});這樣,我們的item監聽就算完成了,運行起來發現界面非常的丑,沒有分割線divier,so

recycleView.addItemDecoration(new DividerItemDecoration(this,4));這個用來給我們的RecyclerView添加分割線的

recycleView.setLayoutManager(new LinearLayoutManager(this));這個是RecyclerView的布局管理器,再次就不多試了,各位看官有需要自己嘗試。


上一篇:Gradle Tips

下一篇:設計模式-外觀模式

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 潮州市| 原平市| 尖扎县| 忻城县| 定结县| 乌拉特前旗| 苍溪县| 绥中县| 剑阁县| 永济市| 崇信县| 嘉定区| 奎屯市| 余庆县| 济南市| 兴宁市| 龙陵县| 满洲里市| 鱼台县| 瑞丽市| 曲靖市| 尤溪县| 永吉县| 阿瓦提县| 巩留县| 万州区| 霍邱县| 新平| 连平县| 芦溪县| 定结县| 榆林市| 邵武市| 昌乐县| 田林县| 玉环县| 娄烦县| 荥经县| 宁都县| 吉木萨尔县| 新密市|