1.使用recyclerview实现网格和列表切换,先看效果图

2.首先是两个不同item的布局,这没什么,各位可以替换为自己的布局

分别叫item_taobao_hot_goods和item_taobao_hot_goods_list

3.recyclerview适配器(关键代码),主要是通过重写getItemViewType方法。

private int TYPE_1 = 1;//网格private int TYPE_2 = 2;//列表private boolean isTable = true;//在activity中设值 //对activity暴露方法改变布局public void switchStyle(boolean isTable) {        this.isTable = isTable;//        notifyItemRangeChanged(0,this.beanList.size());如果只是改变布局,像我这种,无需调用该方法。(如果需要改变数据,需要在onBInd方法中通过type修改数据)    }
@NonNull@Overridepublic ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int position) {    int itemViewType = getItemViewType(position);    View view = null;    if (itemViewType == TYPE_1) {        view = inflater.inflate(R.layout.item_taobao_hot_goods, viewGroup, false);    } else {        view = inflater.inflate(R.layout.item_taobao_hot_goods_list, viewGroup, false);    }    ViewHolder viewHolder = new ViewHolder(view);    return viewHolder;}
@Overridepublic int getItemViewType(int position) {    if (isTable) {        return TYPE_1;    } else {        return TYPE_2;    }}

4.acitvity代码

RecyclerView recyclerView;

private GridLayoutManager gridLayoutManager;

private RecyclerViewAdapter adapter;

gridLayoutManager = new GridLayoutManager(mContext, 2);//设置初始布局为网格,即两列recyclerView.setLayoutManager(gridLayoutManager);

//点击事件

gridLayoutManager.setSpanCount(1);//设为1列,即列表

adpater.switchStyle(false);

gridLayoutManager.setSpanCount(2);//设为2列,即网格

adpater.switchStyle(false);

 

更多相关文章

  1. Android(安卓)一条竖线或横线、画边框
  2. android RecyclerView局部刷新
  3. Android(安卓)ApiDemos示例解析(55):Graphics->BitmapMesh
  4. Android(安卓)性能优化的一些方法
  5. Android(安卓)Studio插件Gsonformat使用
  6. Android笔记汇总
  7. android中ActionBar的覆盖叠加
  8. Inflater与findViewById()区别
  9. Android(安卓)studio Xposed框架Hook小试

随机推荐

  1. Android 应用(中英文)切换
  2. android 获取屏幕的高度和宽度
  3. android系统分区大小设置的经验值
  4. Android高级开发第三讲--应用程序基础
  5. 接入新浪、腾讯微博和人人网的Android客
  6. Android应用程序注册广播接收器(registerR
  7. Android Vitamio 直播视频播放功能的实现
  8. TextView实现 n 个字以后,后面的字显示省
  9. Android应用程序进程启动过程的源代码分
  10. [置顶] Android的Activity屏幕切换动画(