当前位置: 首页 > 面试题库 >

不了解如何使用GridLayout.spec()

柴文林
2023-03-14
问题内容

此GridLayout将在我的具有很多级别的应用程序中使用。每个级别具有不同数量的行和列。我认为,最好使用GridLayout满足我的需求。同样,所有这些都需要在运行时按比例完成。

我在理解如何使用时遇到了麻烦GridLayout.spec()。我正在尝试遵循这个出色的例子,但无法完全掌握它。比方说,例如,我想要一个3列4行的GridLayout。

GridLayout.LayoutParms params1 = new GridLayout.Layout(rowSpec, columnSpec);  //what's parameters?

gameplayGridLayout.setColumnCount(3);
gameplayGridLayout.setRowCount(4);

puzzle.addView(gameplayGridLayout, params1);

在上面的链接示例中,他使用了如下代码来设置"specs"

Spec row1 = GridLayout.spec(0, 2);
Spec row2 = GridLayout.spec(2);
Spec row3 = GridLayout.spec(3);
Spec row4 = GridLayout.spec(4, 2);

Spec col0 = GridLayout.spec(0);
Spec col1 = GridLayout.spec(1); 
Spec colspan2 = GridLayout.spec(0, 2);

我也不理解这些变量的参数。我尝试阅读文档,但并没有给我任何清晰的信息。有人可以帮我提供3x4
GridLayout的示例代码,它也有助于解释Specs是什么吗?


问题答案:

我不太了解您的问题,但以下是一些解释语法的示例

Spec row1 = GridLayout.spec(0, 2); //here you set row to be first row and it takes 2 cells in height.

Spec row2  = GridLayout.spec(2); //this row goes under row1 and it takes 1 cell(default size = 1)

等等。

Spec col0 = GridLayout.spec(0); //same here - first column, width = 1 cell.

Spec colspan2 = GridLayout.spec(0, 2);

因此您可以这样做:

Spec row1 = GridLayout.spec(0);
Spec row2 = GridLayout.spec(1);
Spec row3 = GridLayout.spec(2);
Spec row4 = GridLayout.spec(3);

Spec col0 = GridLayout.spec(0);
Spec col1 = GridLayout.spec(1); 
Spec col2 = GridLayout.spec(2);

GridLayout gridLayout = new GridLayout(this);
GridLayout.LayoutParams first = new GridLayout.LayoutParams(row1, col0);
/*Here you can set options for first cell which is in first row and first column.*/
first.width = screenWidth;
first.height = quarterScreenWidth * 2;
twoByTwo1.setLayoutParams(first);
twoByTwo1.setGravity(Gravity.CENTER);
twoByTwo1.setBackgroundColor(Color.RED);
twoByTwo1.setText("TOP");
twoByTwo1.setTextAppearance(this, android.R.style.TextAppearance_Large);
gridLayout.addView(twoByTwo1, first)
//You can set all cells like above.

我希望这有帮助。:)



 类似资料:
  • 然而,我不明白的是如何最好地使用网关。 我已经通过helm在我的k8s集群上安装了istio,并运行了bookinfo教程。 我创建了: 我不明白的是我什么时候/为什么要创建另一个网关。我还可以创建另一个virtualservice并将其指向。 那么我什么时候再创建一个网关呢?只有当我创建了另一个istio-ingress-gateway(一个具有不同IP的网关)时才会这样吗?

  • 我有这个档案 我读了这个文件,下面是代码: 但是当我检查df_congomines_crs84_geo的财产时, 我得到了“{'init':'epsg:4326'}”,我不明白为什么我没有得到正确的crs。(第一项质询) 之后,我读取了同一区域的另一个数据集(两个数据都属于刚果) 此数据集的crs等于{'init':'epsg:4326'}。当我绘制两个数据集时(不改变crs), 我得到了下一张图

  • 了解如何通过 Adobe Photoshop Lightroom Web 版,访问、编辑、组织和共享照片。 通过 Adobe Photoshop Lightroom Web 版,您可以轻松访问、组织和共享照片。Adobe Photoshop Lightroom Web 版还允许您对照片进行编辑,包括裁剪、调整和应用预设。 要使用 Lightroom Web 版,请访问 lightroom.adob

  • 使用本主题了解 CSS 规则、选择器、继承等 CSS 基本概念。此外,还可了解在 Dreamweaver 中如何才能将 CSS 与网页关联。 关于层叠样式表 层叠样式表 (CSS) 是一组格式设置规则,用于控制网页内容的外观。通过使用 CSS 样式设置页面的格式,可将页面的内容与表示形式分离开。页面内容(即 HTML 代码)存放在 HTML 文件中,而用于定义代码表示形式的 CSS 规则存放在另一

  • 下面的问题来自于CodingBat:给定一个数组,是否可以选择一组整数,使其与给定的目标相加? 站点作者提供了以下解决方案: 假设我想尝试下面的例子,其中nums=[2,4,8]并调用groupSum(0,nums,10)。 我看到将调用和。 调用和 调用和 等等。 在处理代码时,我看到了以下调用: 我看到应该返回true,因为第一行: ,但我对其他调用感到困惑,如。由于,从第一行开始,它应该清楚

  • 使用“关键字”面板可以创建并对文件应用 Adobe Bridge 关键字。可以将关键字组织成由父关键字和子关键字(称为子关键字)。使用关键字,您可以根据文件内容识别文件。例如,您可以使用筛选器面板来查看某一文件夹中共享某些关键字的所有文件,也可以使用“查找”命令来查找包含指定关键字的文件。 有关详细信息,请参阅嵌入式层次结构关键字 | Adobe Bridge。 创建新关键字和子关键字 在关键字面