以编程方式在GridLayout中设置layout_column和layout_row

我有一个GridLayout(而不是GridView),我想添加一些特殊的行和列的视图。 在XML中,我可以设置视图:

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

但是,我怎样才能layout_row编程方式设置属性layout_columnlayout_row ? 我想要这样的东西:

 GridLayout grid = new GridLayout(getActivity()); grid.setColumn(2); grid.setRow(4); grid.addView(new Button(getActivity()); 

Solutions Collecting From Web of "以编程方式在GridLayout中设置layout_column和layout_row"

与所有layout_...参数一样, layout_columnlayout_row的等价物将作为LayoutParams的子类的参数。

在这种情况下,它是GridLayout.LayoutParams ,我们像这样使用它(对于在最后一行和一列中的子视图,以单元格为中心的2×2网格):

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

你必须这样做:

 GridLayout gridLayout = new GridLayout(this); gridLayout.setColumnCount(2); gridLayout.setRowCount(4);