我有一个GridLayout(不是GridView),我想在其中添加一些具有特殊行和列inex的 View 。在XML中,我可以通过以下方式设置 View :

<TextView
    android:id="@+id/textView1"
    android:layout_column="2"
    android:layout_row="4"
    android:text="Large Text" />

但是,如何通过编程方式设置layout_columnlayout_row属性?我想要这样的东西:
GridLayout grid = new GridLayout(getActivity());

grid.setColumn(2);
grid.setRow(4);

grid.addView(new Button(getActivity());

最佳答案

layout_column的所有参数一样,等效layout_rowlayout_...可以作为LayoutParams的子类的参数找到。

在这种情况下,它是GridLayout.LayoutParams,我们像这样使用它(对于一个2x2网格,在最后一行和最后一列中有一个 subview ,居中于单元格内):

gridLayout.setColumnCount(2);
gridLayout.setRowCount(2);

gridLayout.addView(subview, new GridLayout.LayoutParams(
                              GridLayout.spec(1, GridLayout.CENTER),
                              GridLayout.spec(1, GridLayout.CENTER)));

10-08 06:11
查看更多