第一步,在布局文件中添加一个 GridLayout 控件,设置它的行列数和间距等属性,例如:
<GridLayout
android:id="@+id/grid_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:columnCount="4"
android:rowCount="2"
android:orientation="horizontal"
android:alignmentMode="alignMargins"
android:columnOrderPreserved="false"
android:useDefaultMargins="true"
android:layout_marginBottom="16dp"
android:layout_marginTop="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
/>
在这里,我们设置了 GridLayout 控件的列数为 4,行数为 2,水平方向排列,对齐模式为沿着每个纵向边框对齐,列顺序不保留,使用默认边距和间距,同时设置了上、下、左、右四个方向的外边距。
第二步,在 Java 代码中获取 GridLayout 对象,并循环添加 Button 控件到其中,例如:
GridLayout gridLayout = findViewById(R.id.grid_layout);
for (int i = 0; i < 8; i++) {
Button button = new Button(this);
button.setText("Button " + (i+1));
GridLayout.Spec rowSpec = GridLayout.spec(i/4, 1f);
GridLayout.Spec columnSpec = GridLayout.spec(i%4, 1f);
GridLayout.LayoutParams layoutParams = new GridLayout.LayoutParams(rowSpec, columnSpec);
button.setLayoutParams(layoutParams);
gridLayout.addView(button);
}
在这里,我们使用循环创建 8 个 Button 控件,并设置它们的文本内容,然后用 GridLayout.LayoutParams 指定每个 Button 控件的行列和权重,并添加到 GridLayout 控件中。
最终的效果是,GridLayout 控件中会出现两排共八个 Button 控件,每排四个,排列紧密,且外部有一定距离
标签:多行,控件,LayoutParams,Button,设置,GridLayout,button From: https://www.cnblogs.com/wangxinyuan1108/p/18205122