我有一个GridLayout(不是GridView),我想在其中添加一些具有特殊行和列inex的 View 。在XML中,我可以通过以下方式设置 View :
<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());
最佳答案
与layout_column
的所有参数一样,等效layout_row
和layout_...
可以作为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)));