У меня есть GridLayout
, состоящий из 6 детей. Он имеет число столбцов 2. У детей с левым столбцом есть layout_gravity
of start|end|fill_horizontal
и layout_width
0dp, что заставляет их заполнять все свободное пространство.
Это здорово и дает мне результат, показанный ниже.
Представления 4, 5 и 6 являются настолько большими, насколько они должны быть. Очень круто. Теперь я хотел бы выровнять точки 4, 5 и 6 с правой стороны контейнера, но это оказалось сложным. Из-за способа GridLayout
определяется гибкость столбцов, давая правильные представления столбцов layout_gravity
of right
разрушает макет. Представления в первом столбце больше не заполняют оставшуюся ширину в макете. (По моему мнению, это потому, что теперь в обоих столбцах есть дети, определяющие горизонтальную гравитацию, поэтому GridLayout
не может больше отмечать один столбец как гибкий).
Есть ли способ достичь этого? Я действительно не заинтересован в вложенности LinearLayout
s. Ниже мой желаемый результат.
Для справки, текущая иерархия представлений XML выглядит примерно так...
<GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:columnCount="2">
<View
android:id="@+id/view1"
android:layout_gravity="start|end|fill_horizontal" />
<View
android:id="@+id/view4" />
<View
android:id="@+id/view2"
android:layout_gravity="start|end|fill_horizontal" />
<View
android:id="@+id/view5" />
<View
android:id="@+id/view3"
android:layout_gravity="start|end|fill_horizontal" />
<View
android:id="@+id/view6" />
</GridLayout>