Набор столбцов и строк компоновки GridLayout программно
у меня есть GridLayout (не GridView), где я хочу добавить некоторые представления со специальной строкой и столбцом inex. В 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());
2 ответов
в эквиваленте 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)));
вы должны сделать что-то вроде этого:
GridLayout gridLayout = new GridLayout(this);
gridLayout.setColumnCount(2);
gridLayout.setRowCount(4);