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);
}

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