У меня есть GridLayout
, который имеет 6 элементов (TextView's
).
Я установил columnCount
на 3 .
Ширина каждогоэлемент TextView
равен 33%, а columnCount
равен 3. Это именно то, как я хочу - однако высота каждого элемента TextView
не заполняется, чтобы соответствовать экрану (высота 50% для обоих первыхи второй ряд элементов, поскольку есть две строки по 3 элемента - сетка 3x2).
Это XML:
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="ddx.project_dnd.MainActivity">
<GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:columnCount="3"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:layout_width="0dp"
android:layout_height="100dp"
android:layout_columnWeight="1"
android:layout_gravity="fill_horizontal"
android:background="@color/colorPrimaryDark"
android:gravity="center"
android:text="Tile1" />
<TextView
android:layout_width="0dp"
android:layout_height="100dp"
android:layout_columnWeight="1"
android:layout_gravity="fill_horizontal"
android:background="@color/colorAccent"
android:gravity="center"
android:text="Tile2" />
<TextView
android:layout_width="0dp"
android:layout_height="100dp"
android:layout_columnWeight="1"
android:layout_gravity="fill_horizontal"
android:background="@color/colorPrimary"
android:gravity="center"
android:text="Tile3" />
<TextView
android:layout_width="0dp"
android:layout_height="100dp"
android:layout_columnWeight="1"
android:layout_gravity="fill_horizontal"
android:background="@color/colorAccent"
android:gravity="center"
android:text="Tile4" />
<TextView
android:layout_width="0dp"
android:layout_height="100dp"
android:layout_columnWeight="1"
android:layout_gravity="fill_horizontal"
android:background="@color/colorPrimary"
android:gravity="center"
android:text="Tile5" />
<TextView
android:layout_width="0dp"
android:layout_height="100dp"
android:layout_columnWeight="1"
android:layout_gravity="fill_horizontal"
android:background="@color/colorAccent"
android:gravity="center"
android:text="Tile6" />
</GridLayout>
</android.support.constraint.ConstraintLayout>
Как видно из приведенного выше XML, каждый изВысота элемента TextView's
равна 100dp .Есть ли способ использовать GridLayout специально для увеличения высоты каждого элемента до 50% с помощью XML-макета?Я попытался выполнить поиск, но нашел в основном ответы, похожие на этот ресурс и этот , который программным образом, или я испытываю проблему XY с моим выбором Layout?