1. 程式人生 > >使用RecyclerView實現簡單的橫向滑動

使用RecyclerView實現簡單的橫向滑動

最近在Android群裡面,看到挺多人都在用RecyclerView。好奇的我也去看了看如何使用。做了個小Demo,雖然知道RecyClerView 的文章已經爛大街了。但是想寫篇文章總結一下(畢竟自己寫的是自己的,別人寫的是別人的)。

介紹:  RecyclerView 不僅可以輕鬆實現 Listview 同樣的效果 並且還能輕鬆實現 (瀑布,橫向滑動) 效果。 並且Android 開發團隊,將RecyclerView 定義在了 Support  庫當中,所以如果你想使用RecyclerView 的話就必須先匯入 相應的依賴庫。

1. 編寫xml程式碼以及加入依賴

(1).先匯入最重要的 "依賴" !

compile'com.android.support:recyclerview-v7:25.1.0'

(2).寫好RecyclerView的xml佈局

Activity_RecyclerView_xml

(3). 俺們再寫好RecyclerView的 Item 的 xml佈局

Activity_RecyclerView_Item_xml

2.ok 俺們已經把最基礎的xml檔案程式碼已經完成現在開始編寫java程式碼把!

(2.1)  編寫MainActivity.java

使用介紹:

(2.1.1)如果你想實現 RecyClerView 橫向滑動功能只需要,使用 RecyClerView的線性佈局管理器 LinearLayoutManager

,方法呼叫 setOrientation() , 來控制使用什麼樣的佈局樣式,如果你想實現橫向滑動的話就使用 setOrientation(LinearLayoutManager.HORIZONTAL);。

在setOrientation的方法中有3種佈局樣式分別是:

(1)  HORIZONTAL 最常使用的橫向佈局

(2) VERTICAL 跟ListView一致的豎向佈局

(3)  INVALID_OFFSET 偏移佈局

並且在LinearLayoutManager 線性佈局管理器(自己的理解)之外 RecyclerView還存在了GridLayoutManager 網格佈局管理器 和

StaggerredGridLayoutManager  瀑布流佈局管理器。可以使用他們實現不同的佈局樣式哦。

現在我們設定好一個佈局樣式後再使用 setLayoutManager 把設定好的佈局樣式新增到 RecyClerView中然後在呼叫介面卡,添再在把返回的資料,新增到RecyClerView就完成啦,廢話不多說直接開始擼程式碼吧!

下方是Activity.java程式碼↓

@Override

protected void onCreate(Bundle savedInstanceState) {

   super.onCreate(savedInstanceState);

  setContentView(R.layout.recycleview);

  recy=(RecyclerView)findViewById(R.id.reyview);

  getData();  //獲取 RecyClerView 介面卡 需要的資料

 initData();  // 載入資料的方法

}

private voidgetData() {//虛擬資料

  datadatas=null;

  for(inti=0;i<=10;i++) {

  datas=newdata();

  datas.setId(i);

  list.add(datas);

}

}

private voidinitData() {

  //     LinearLayoutMannager 是一個佈局排列 , 管理的介面,子類都都需要按照介面的規範來實現。

  LinearLayoutManager ms= new LinearLayoutManager(this);

  ms.setOrientation(LinearLayoutManager.HORIZONTAL);// 設定 recyclerview 佈局方式為橫向佈局

  //     LinearLayoutManager 種 含有3 種佈局樣式  第一個就是最常用的 1.橫向 , 2. 豎向,3.偏移

  recy.setLayoutManager(ms);  //給RecyClerView 新增設定好的佈局樣式

  orAdapter oap=new orAdapter(list);  //初始化介面卡

  recy.setAdapter(oap);  // 對 recyclerview 新增資料內容

}

介面卡介紹:

    RecyClerView 的介面卡 和 ListView 的介面卡還是很相識的,但是和ListView的介面卡簡潔了許多。由於RecyclerView 的介面卡繼承與 RecyclerView.Adapter 方法 所以我們必須重寫 3個方法,並且需要指定泛型為  orAdapter.ViewHolder (orAdapter為自己的類名)。其中ViewHodler是我們在orAdapter 定義的一個內部類。(個人感覺很像把BaseAdatper的getView分成了2個部分)。

介面卡中所有方法

1.onCreateViewHoder;  為ViewHodler 賦予一個xml 介面

2.onBindViewHolder;  用來給控制元件賦值

3.getItemCount ;  讓我們知道RecyclerView 一共有多少個子項.

4.orViewHolder ViewHolder 內部類

介面卡程式碼:

RecyclerView_Adapter

到這裡就完事兒拉,是不是覺得很簡單。

作者:Mircale1 連結:https://www.jianshu.com/p/b82c407c9056 來源:簡書 簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。