GridLayout's rowOrderPreserved и columnOrderPreserved

Может кто-нибудь объяснить, что rowOrderPreserved columnOrderPreserved GridLayout rowOrderPreserved и columnOrderPreserved ?

Я не понимаю документы. В чем разница между установкой значения в true или false. Иллюстрация будет очень полезна.

Рассмотрим следующий фрагмент кода с помощью GridLayout :

 <GridLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:useDefaultMargins="true" android:alignmentMode="alignBounds" android:columnOrderPreserved="true" android:columnCount="4" > <TextView android:text="Email setup" android:textSize="32dip" android:layout_columnSpan="4" android:layout_gravity="center_horizontal" /> <TextView android:text="Email address:" android:layout_gravity="left" /> <EditText android:ems="10" /> <TextView android:text="Password:" android:layout_column="0" android:layout_gravity="right" /> <EditText android:ems="8" /> <Button android:text="Next" android:layout_row="4" android:layout_column="3" /> </GridLayout> 

Этот xml генерирует представление следующим образом, в котором кнопка «Далее» находится за пределами экрана:

Введите описание изображения здесь

Это связано с тем, что первый элемент EditText определяет ширину второго столбца. При определении кнопки «Далее» в четвертом столбце он должен быть справа от второго столбца.

Теперь, изменив атрибут columnOrderPreserved на false columnOrderPreserved android возможность разместить горизонтальные границы столбцов в любом порядке, наиболее подходящем для заданных ограничений. (См. Документацию ) Результат такой же, как на этом изображении:

Введите описание изображения здесь