我有一个GridLayout(而不是GridView),我想添加一些特殊的行和列的视图。 在XML中,我可以设置视图:
<TextView android:id="@+id/textView1" android:layout_column="2" android:layout_row="4" android:text="Large Text" />
但是,我怎样才能layout_row
编程方式设置属性layout_column
和layout_row
? 我想要这样的东西:
GridLayout grid = new GridLayout(getActivity()); grid.setColumn(2); grid.setRow(4); grid.addView(new Button(getActivity());
与所有layout_...
参数一样, layout_column
和layout_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);