GridLayout - высота в зависимости от ширины ячейки - PullRequest
0 голосов
/ 08 мая 2018

Я пытаюсь установить высоту ячеек элементов сетки на ширину.

До сих пор мне удавалось заполнить экран горизонтально, чтобы каждая ячейка занимала равное пространство. Я также использую ConstraintLayout для размещения экрана разных размеров.

При изменении размеров экрана я пытаюсь сопоставить высоту с шириной.

Есть ли способ сделать это в XML? Вот что у меня пока ...

<?xml version="1.0" encoding="utf-8"?>
<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=".UploadActivity">

    <android.support.v7.widget.GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:grid="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        app:alignmentMode="alignBounds"
        app:columnCount="3"
        app:orientation="horizontal"
        app:rowCount="2"
        grid:layout_constraintEnd_toEndOf="parent"
        grid:layout_constraintStart_toStartOf="parent"
        grid:layout_constraintTop_toTopOf="parent">

        <ImageView
            android:id="@+id/imageView7"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            app:layout_columnWeight="1"
            app:layout_gravity="fill"
            grid:srcCompat="@drawable/ic_love_heart_svg" />

        <ImageView
            android:id="@+id/imageView6"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            app:layout_columnWeight="1"
            app:layout_gravity="fill"
            grid:srcCompat="@drawable/ic_love_heart_svg" />

        <ImageView
            android:id="@+id/imageView5"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            app:layout_columnWeight="1"
            app:layout_gravity="fill"
            grid:srcCompat="@drawable/ic_love_heart_svg" />

        <ImageView
            android:id="@+id/imageView4"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            app:layout_columnWeight="1"
            app:layout_gravity="fill"
            grid:srcCompat="@drawable/ic_love_heart_svg" />

        <ImageView
            android:id="@+id/imageView3"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            app:layout_columnWeight="1"
            app:layout_gravity="fill"
            grid:srcCompat="@drawable/ic_love_heart_svg" />

        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            app:layout_columnWeight="1"
            app:layout_gravity="fill"
            grid:srcCompat="@drawable/ic_love_heart_svg" />
    </android.support.v7.widget.GridLayout>

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button"
        tools:layout_editor_absoluteX="41dp"
        tools:layout_editor_absoluteY="282dp" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button"
        tools:layout_editor_absoluteX="181dp"
        tools:layout_editor_absoluteY="282dp" />
</android.support.constraint.ConstraintLayout>
...