RecycleView的Grid效果顯示實現

RecycleView的Grid效果顯示實現

步驟:

1.  如果是5.0以下就加兼容包  按住shift+ctrl+alt+s 添加android.support.v7.widget.RecyclerView
2.  在佈局文件中加Recycleview
3.  實例化RacycleView
4.   寫一個方法給列表填充數據    集合的數據類型是一個實體類
5.  創建一個實體類  在其中定義集合所需要的數據類型
6.  創建一個適配器   
7.   建佈局管理器
8.  菜單點擊事件的監聽

1.  如果是5.0以下就加兼容包  按住shift+ctrl+alt+s 添加android.support.v7.widget.RecyclerView

2.  在佈局文件中加Recycleview

<android.support.v7.widget.RecyclerView
    android:id="@+id/recyclev"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
</android.support.v7.widget.RecyclerView>

3.  實例化RacycleView

4.   寫一個方法給列表填充數據    集合的數據類型是一個實體類

private void loadlist(Boolean inversion, Boolean orientation) {
    //集合對象
    ArrayList<DateBean> dates = new ArrayList<>();
    //Bean類放數據,最後吧裝好數據的Bean類放到集合裏
    for (int i = 0; i < 35; i++) {
        //創建Bean類對象
        DateBean dateBean = new DateBean();
        dateBean.icon = R.drawable.tuzi;
        dateBean.name = "雪廬" + i;
        //Bean類放入集合
        dates.add(dateBean);
    }

5.  創建一個實體類  在其中定義集合所需要的數據類型

//Bean類有哪些類型,要根據列表的item需要哪些數據決定9
public class DateBean {
    public int icon;
    public  String name;
}

6.  創建一個適配器  

RecycleAdapter recycleAdapter = new RecycleAdapter(this, dates);
//設置適配器
mRecyclerView.setAdapter(recycleAdapter);
7.   創建所需的佈局管理器
        //設置佈局 管理器 參數linearLayoutManager對象
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);

        //通過佈局管理器,控制條目排列的順序  true: 反向顯示    false:正常顯示(默認)
        linearLayoutManager.setReverseLayout(inversion);
        //設置列表的方向是水平還是垂直   VERTICAL         默認
        linearLayoutManager.setOrientation(orientation ? LinearLayoutManager.VERTICAL : LinearLayoutManager.HORIZONTAL);

        mRecyclerView.setLayoutManager(linearLayoutManager);
8. 
菜單按鈕點擊事件的處理
public boolean onOptionsItemSelected(MenuItem item) {
    int itemId = item.getItemId();
    if (itemId == R.id.list_biaozhun) {
        //標準顯示
        loadlist(false, true);
        Toast.makeText(MainActivity.this, "雪廬老人", Toast.LENGTH_SHORT).show();
        return true;
        //  垂直反向

    } else if (itemId == R.id.list_chuizhifanxiang) {
        loadlist(true, true);

        //誰平顯示
    } else if (itemId == R.id.list_shuipign) {
        loadlist(false, false);
        //水平反向顯示
    } else if (itemId == R.id.list_shuipinfanxiang) {
        loadlist(true, false);
       
return super.onOptionsItemSelected(item);
}

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