我有一个GridLayout(不是GridView),我想添加一些带有特殊行和列的视图。在XML中,我可以使用以下命令设置视图:
<TextView
android:id="@+id/textView1"
android:layout_column="2"
android:layout_row="4"
android:text="Large Text" />
但是如何以编程方式设置属性layout_column
和layout_row
?我想要这样的东西:
GridLayout grid = new GridLayout(getActivity());
grid.setColumn(2);
grid.setRow(4);
grid.addView(new Button(getActivity());
答案 0 :(得分:17)
与所有layout_column
参数一样,layout_row
和layout_...
的等价物将作为LayoutParams
的子类的参数找到。
在这种情况下它是GridLayout.LayoutParams
,我们就像这样使用它(对于2x2网格,在最后一行和列中有一个子视图,在单元格中居中):
gridLayout.setColumnCount(2);
gridLayout.setRowCount(2);
gridLayout.addView(subview, new GridLayout.LayoutParams(
GridLayout.spec(1, GridLayout.CENTER),
GridLayout.spec(1, GridLayout.CENTER)));
答案 1 :(得分:-2)
你必须做这样的事情:
GridLayout gridLayout = new GridLayout(this);
gridLayout.setColumnCount(2);
gridLayout.setRowCount(4);