Как установить ширину дочерних элементов GridLayout равным размером и сделать их равномерно распределенными? - PullRequest
0 голосов
/ 02 мая 2018

У меня есть GridLayout с 3 ImageViews, как дети. Параметр columnCount имеет значение 3, и они должны быть равномерно распределены по горизонтали. Это XML:

    <GridLayout
        android:id="@+id/info_contact_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal"
        android:columnCount="3"
        android:rowCount="1">

        <ImageView
            android:id="@+id/info_empresa_facebook_contact_id"
            android:layout_gravity="fill"
            android:layout_columnWeight="1"
            android:src="@drawable/ic_warning" />

        <ImageView
            android:id="@+id/info_empresa_whatsapp_contact_id"
            android:layout_gravity="fill"
            android:layout_columnWeight="1"
            android:src="@drawable/ic_warning" />

        <ImageView
            android:id="@+id/info_empresa_call_id"
            android:layout_gravity="fill"
            android:layout_columnWeight="1"
            android:src="@drawable/ic_warning" />

    </GridLayout>

Вместо 3-х изображений одинаковой ширины, идеально вписывающихся в горизонтальное пространство, вот что я получаю (первое изображение огромно, а остальные не видно):

enter image description here

Как равномерно распределить сетку по горизонтали? Есть 3 столбца, по одному для каждого изображения, и ширина сетки соответствует ширине сетки родительского элемента. Кроме того, это не сработает, если я снимаю вес. Размеры изображений не имеют значения, они должны соответствовать сетке.

1 Ответ

0 голосов
/ 02 мая 2018

Ваш GridView, как опубликовано, имеет только одну строку. В этом случае я бы просто использовал LinearLayout вместо:

<LinearLayout
    android:id="@+id/info_contact_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">

    <ImageView
        android:id="@+id/info_empresa_facebook_contact_id"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/ic_warning" />

    <ImageView
        android:id="@+id/info_empresa_whatsapp_contact_id"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/ic_warning" />

    <ImageView
        android:id="@+id/info_empresa_call_id"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/ic_warning" />

</LinearLayout>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...