当前位置: 首页 > 知识库问答 >
问题:

Android GridLayout基于行宽度的不同跨度计数

邢鸿博
2023-03-14

我有一个以GridLayoutManager为布局管理员的recyclerview,我想要实现的是下图

正如你所看到的,每一行可能有多个项目,只是基于项目宽度,每个项目都是一个文本视图,具有wrap_content宽度,但所有项目都有相同的高度。
我知道可以通过SpanSizeLookup设置行跨度,但要做到这一点,我应该知道跨度的计数,而我的列表行将仅按项目宽度填充
有人能帮我吗?

共有1个答案

万俟英锐
2023-03-14

使用不同的布局管理器(如FlexboxLayoutManager)可能会更好https://github.com/google/flexbox-layout

它在控制何时换行(自动或手动)方面有很大的灵活性,您可以指定许多关于单个单元格如何生长/收缩以填充一行的控件。

github页面上有很多例子。

但作为一个起点,你可以在单元格3和7之前手动换行,第一行显示3,第二行显示4。

或设置FlexWrap将根据大小自动执行

 类似资料:
  • 问题内容: 总菜鸟问题,但在这里。 CSS HTML 基本上,我试图模拟一个按钮,使一个跨度(或某个范围)看起来像一个输入字段旁边的按钮,由于自动填充生成器会在onEnter上产生错误,因此实际上不需要是一个输入字段。认为这是目前的快速解决方案,但显然不是。 谢谢。 问题答案: 跨度是一个内联元素。它没有宽度或高度。 您可以将其转换为块级元素,然后它将接受您的维度指令。

  • 问题内容: 在无序列表中: 允许添加class或style属性,但不允许填充文本以及添加或更改标签。 该页面正在使用Courier New呈现。 目标是在跨度后排列文本。 “ OR”的理由并不重要。 懒惰的动物文字可能包含在其他元素中,但我必须仔细检查。 问题答案: ul { 就像Eoin所说的那样,您需要在“空”跨度中放置一个不间断的空格,但是您不能为内联元素分配宽度,只能填充/边距,因此您需要

  • 问题内容: 我正在尝试根据元素的(100%)高度使用宽度大小制作一个响应式正方形。我相信仅使用CSS是不可能的。 正方形宽度应等于高度(大型容器的100%。大型容器大于屏幕的100%)。该比例必须为width = height才能保持正方形。 问题答案: 好的,这里的解决方案。

  • 问题内容: 我有一张table 我如何使两行具有不同的单元格宽度? 问题答案: 据我所知,这是不可能的,这是有道理的,因为您要尝试做的事情与表格数据表示的想法背道而驰。但是,您可以将数据放在多个表中,并删除它们之间的任何填充和边距,以至少在视觉上达到相同的结果。类似于以下内容: 我不知道您的要求,但是我敢肯定有一个更优雅的解决方案。

  • 我有一个div里面有2个跨度。如果第一个跨距内容足够短,可以在单行上显示,则跨距宽度(在开发工具中)与文本内容的宽度相同。将第二个跨距直接定位在第一个跨距的右侧。 如果第一个跨距的内容足够长,可以使其环绕跨距的宽度,则该跨距的宽度将大于内容的宽度。这意味着在换行的文本后面有多余的空格。它强制第二个跨距与父div的右边框对齐,并强制第一个跨距的宽度获得剩余的宽度。 是否有一种方法可以使多行跨度的宽度

  • 问题内容: 有没有办法在JTable中实现html表格之类的行跨度和colspan。 问题答案: 这是一个非常古老的例子。我不知道它是否仍然有效: http://www.java2s.com/Code/Java/Swing- Components/MultiSpanCellTableExample.htm