RecycleView的Grid效果显示实现
步骤:
1. 如果是5.0以下就加兼容包 按住shift+ctrl+alt+s 添加android.support.v7.widget.RecyclerView
2. 在布局文件中加Recycleview
3. 实例化RacycleView
4. 写一个方法给列表填充数据 集合的数据类型是一个实体类
5. 创建一个实体类 在其中定义集合所需要的数据类型
6. 创建一个适配器
7. 建布局管理器
8. 菜单点击事件的监听
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);}