I have a GridLayout (not GridView) where I want to add some views with a special row and column inex. In XML I can set the View with:
<TextView
android:id="@+id/textView1"
android:layout_column="2"
android:layout_row="4"
android:text="Large Text" />
But how can I set the attributes layout_column
and layout_row
programmatically? I want something like this:
GridLayout grid = new GridLayout(getActivity());
grid.setColumn(2);
grid.setRow(4);
grid.addView(new Button(getActivity());
Android Gridlayout Example Programmatically 1 GridLayout Example.#N#The GridLayout object in this example has two columns. The first row is a user name row, the user... 2 Design UI With GridLayout Statically#N#Create a new android project with empty activity template, name it as Android... 3 Add Child View To GridLayout Programmatically. More ...
1. GridLayout Example. The GridLayout object in this example has two columns. The first row is a user name row, the user can input the user name in the input text box. The second row is a password row, the user input a password in it. The third row contains only one button, the button merges two columns by setting it’s layout_columnSpan property.
You can specify how many columns and rows the grid have with it’s rowCount or columnCount property. You can change the GridLayout object size by specifying it’s layout_margin property. You can even use it’s child view’s layout_rowSpan or layout_columnSpan property to merge nearby rows or columns. 1. GridLayout Example.
The third row contains only one button, the button merges two columns by setting it’s layout_columnSpan property. When this button is clicked, it will add a new password row in the GridLayout object programmatically. 2. Design UI With GridLayout Statically
The equivalent of layout_column
and layout_row
, as with all layout_...
parameters, is to be found as a parameter of a subclass of LayoutParams
.
In this case it's GridLayout.LayoutParams
, and we use it like this (for a 2x2 grid with a subview in the final row and column, centred within the cell):
gridLayout.setColumnCount(2);
gridLayout.setRowCount(2);
gridLayout.addView(subview, new GridLayout.LayoutParams(
GridLayout.spec(1, GridLayout.CENTER),
GridLayout.spec(1, GridLayout.CENTER)));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With