Я хочу иметь сетку 2x2 с кнопками внутри. Это только ICS, поэтому я пытаюсь использовать новый GridLayout.GridLayout (не GridView), как растянуть всех детей равномерно
Вот XML моего макета:
<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/favorites_grid"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00ff00"
android:rowCount="2"
android:columnCount="2">
<Button
android:text="Cell 0"
android:layout_row="0"
android:layout_column="0"
android:textSize="14dip" />
<Button
android:text="Cell 1"
android:layout_row="0"
android:layout_column="1"
android:textSize="14dip" />
<Button
android:text="Cell 2"
android:layout_row="1"
android:layout_column="0"
android:textSize="14dip" />
<Button
android:text="Cell 3"
android:layout_row="1"
android:layout_column="1"
android:textSize="14dip" />
</GridLayout>
Проблема заключается в том, что мои взгляды не растягиваться равномерно для каждой строки. Это вызывает много лишнего пространства справа от моего GridLayout.
Я пробовал установку layout_gravity="fill_horizontal"
, но относится только к последнему вид на ряд. Это означает, что Cell 1 растягивается полностью, чтобы дать достаточно места для ячейки 0.
Мысли о том, как это решить?
Почему вы не установлены конкретные layout_width и layout_height размеры этих кнопок элементов? –
Почему бы не использовать TableLayout в вашем случае? – nekavally
В Lollipop теперь мы можем использовать android.support.v7.widget.GridLayout, количество столбцов 3, а затем иметь за каждый colum для достижения желаемого эффекта без всех дополнительные накладные расходы, если только вы не строите исключительно для SDK 21, а затем вы можете использовать обычный GradLayout –
AllDayAmazing