背景:

我们在开发过程中,经常会混合不同的style view展示,对不同的内容有着不同的要求。列表是提供容易的view。在Android中,recycleview支持多样化的线上,但是我们会发现,布局的样式基本都被layoutmanager管理者,设置好布局manager,就无法展示多样化,这样很不利于我们的开发过程。

需求:

我们在开发过程中,往往需要处理这些,比如:我们在瀑布流的manager中,需要占用一行来显示我们其他的东西,如下图所示:

瀑布流现在有五条数据:A、B、C、D、E。这是一个瀑布流,瀑布流是左右排队,C需要单独占领一行,这个怎么处理么

只需要重写RecycleView.Adapter的onViewAttachedToWindow(ViewHolder)的方法。

这里会涉及到一个getItemViewType():

我们正常都是支持一种类型,

也就是在onCreateViewHolder方法,创建ViewHolder只创建一个,默认itemType的值为0.

如果你的数据源对应好多种数据类型,可以为每种创建一个ViewHolder样式,就可以通过这样。

比如一片文章:有标题、有文字段落、有图片、有视频、有引用。

我们可以定义五种类型,这样就组建一篇完整的数据类型。

所以在onViewAttachedToWindow中,是view添加到窗口时,获取当前view的位置,如果这个位置的type是需要占一屏的,直接设置

StaggeredGridLayoutManager.LayoutParams params = (StaggeredGridLayoutManager.LayoutParams) holder.itemView.getLayoutParams();
params.setFullSpan(true);

setFullSpan(true):这个Span(一栏)填满全屏,其他的还是瀑布流展示。这样可以做到多样化显示。

Android recycleview瀑布流中间穿插一行占满一屏相关推荐

  1. 不固定图片宽高瀑布流_图片横向等高瀑布流,每行占满,限制行数 的实现

    图片的横向瀑布流,其实简单地按顺序排列就可以了 但要实现每行中各图片都等高(各行不一定等高,但每行里面等高),且每行都占满,就需要用到flex的特性了 控制每行图片高度都一致,可能会影响图片的比例,所 ...

  2. 【Android 应用开发】Android中使用ViewPager制作广告栏效果 - 解决ViewPager占满全屏页面适配问题

    . 参考界面 : 携程app首页的广告栏, 使用ViewPager实现        自制页面效果图 : 源码下载地址: http://download.csdn.net/detail/han1202 ...

  3. 有道云笔记设置界面 占满全屏(右侧)

    有道云笔记设置界面 占满全屏(右侧) 其实是叫视角,但是一般查询的时候不会查这个词语吧 总之一开始是阅读视角,界面窄一点 普通视角会宽一点吧

  4. Dialog 宽度占满全屏

    转载自:https://blog.csdn.net/sydmobile/article/details/83588708 Dialog 宽度占据全屏 关于如何自定义设置 Dialog 的大小,以及如何 ...

  5. 如何div高度占满全屏无滚动条

    如何div高度占满全屏无滚动条 <!DOCTYPE html> <html><head><meta charset="UTF-8"> ...

  6. Android 实现瀑布流的两种思路

    瀑布流怎么样我就不多介绍了.下面说说我想到的两个方法. 方法一,控件的叠加: ScrollView+LinearLayout.在ScrollView里面加一个水平方向的LinearLayout,在水平 ...

  7. css3 的 calc()函数在布局中的使用----头部高度固定,页面正好占满一屏

    最近项目遇到一个布局需求,头部高度固定,页面需要刚好占满一屏幕. 如下示意图: 方法:使用calc .wrap{position: relative;margin-left: 24px;margin- ...

  8. recycleView瀑布流

    首先几个关键资源   activity    adapter   item item中采用图片加文字的形式 大致这样: adapter 中需要去写一个动态分配高度的方法 入参的mlist是集合的长度 ...

  9. 黑马商城项目级联选择占满全屏解决方案

    在全局样式的css中添加一下面样式即可 .el-scrollbar__wrap {height: 300px !important }

最新文章

  1. 混合云备份利用自定义Workflow保护MySQL的实践
  2. 重启centOS丢失nginx.pid导致无法启动nginx的解决方法
  3. Qt creator自定义编译运行步骤
  4. 窗体的ControlBox属性
  5. c语言程序设计dowhile,(C语言while、dowhile、for循环课程5.docx
  6. 轻量级KVO ——》 KVO 管理 observeValueForKeyPath
  7. PooledDirectByteBuf源码分析
  8. InteliJ IDEA生成可执行jar运行提示没有主清单属性
  9. sonnar检查出没有的方法_你有没有定期检查轮胎?它还能换位置,真是“经济”宝藏方法...
  10. 带你认识Oracle索引类型(全面总结)
  11. 西门子1200PLC(入门)2
  12. 速读原著-TCP/IP(互联网与实现)
  13. 腾达ap设置说明_腾达(Tenda)F9无线路由器AP模式怎么设置[教程]?【图解】
  14. 霍纳法则(Horner Rule)--计算多项式的值
  15. 面试现场说要轮岗,实际岗位是地推
  16. 【MapReduce】综合案例
  17. 驭势科技无人驾驶技术走向海外,AI国潮获赞满满
  18. python中concat的用法_pandas中concat()的用法
  19. yolov3运行及保存检测视频(包括摄像头)
  20. 将CSS文件转换为标准格式

热门文章

  1. python去哪里找工作比较好_Python学到哪水平可去找工作?没工作经验没学历怎么找?我教你...
  2. 使用VBA批量向Excel插入图片
  3. vux 选择器_Picker 组件使用教程 - VUX 中文文档
  4. 03 ts类型缩小,函数
  5. 重磅!华为正式出售荣耀,不再持有任何股份
  6. scipy.spatial.distance.cdist函数
  7. 热血江湖按键精灵脚本游戏!
  8. Debain10忘记root用户密码怎么办
  9. java银联接口代码_银联接口测试——详细(JAVA)
  10. 近代以来中华民族面临的两大历史任务及其相互关系是什么?