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

交错网格布局管理器,可在两个方向上工作

陆子石
2023-03-14

我想做的是:

我正在尝试创建一个交错的网格布局,可以容纳不同宽度和高度的项目。布局会动态移动项目,使其不重叠。

我所尝试的:

我研究了使用默认的< code > StaggeredGridLayoutManager ,但它似乎只能在一个方向上工作(即垂直或水平)。此外,我遇到的每个库或教程也只处理包含动态高度或动态宽度的项目,而不是两者都包含。

有没有办法让< code > StaggeredGridLayoutManager 在垂直和水平两个方向上动态跨越?还是我必须创建自己的自定义布局管理器?如果是后者,有人能给我指出正确的方向,让我知道如何创建这样的布局管理器吗?

共有1个答案

符佐
2023-03-14

代替StaggeredGridLayoutManagerGridLayoutManager可以与spanSizeLookup一起使用。使用spanSizeLookup,我们可以指定列跨度。

mLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
 item[position].columnSpan
}
}

在创建GridLayoutManager时,指定列的最大编号,如下所示

layoutManager = GridLayoutManager(context, MAX_NUM_COL)

行跨度可以通过使用跨度因子和父级的高度计算高度来应用

 类似资料:
  • 我需要Android TV的自定义键盘,就像下面图像中的这个。布局有一个带有网格布局管理器的回收器视图来自定义行和列。 但是当我运行应用程序时,布局在最后一行没有显示正确的按钮宽度。“空格”按钮的量程应为4,“移位”按钮2和“归零”按钮3。

  • *label1:combo1 label2:combo2 label3:combo3 label4:text1 label5:text2 label6:text3*

  • 我需要在中制作这样的表。 有什么想法如何做到这一点,以获得像下面图片上的布局吗?

  • 问题内容: 您的Java Swing工具集中有哪些库/工具? XUL 布局经理 打包机/安装程序 图书 等等..... 问题答案: 这是我用的: “框架” :Swing应用程序框架并没有做很多,但是做得很好(如果使用它,您可能想看看我去年做过的一个演示文稿) JTables :处理表通常很麻烦(很多样板代码…);我通常使用GlazedLists,这大大简化了工作(并带来了许多改进) EventBu

  • 有没有办法在Java中使用多个布局管理器。现在我正在使用gridLayout来实现一个国际象棋棋盘,但在它下面我想放一些其他的东西,但不是在gridLayout中。可能是流程布局或其他布局。我该怎么做呢?谢谢