gridlayout 2 столбца по центру по горизонтали

Я хочу, чтобы макет состоял из двух столбцов одинаковой ширины, а элементы в столбце центрировались.

Код

    <?xml version="1.0" encoding="utf-8"?>

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#75ddff"
    android:columnCount="2"
    android:layout_gravity="center"
    tools:context="com.example.demo.MainActivity">


    <de.hdodenhof.circleimageview.CircleImageView xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/calculator_view"
        android:layout_width="110dp"
        android:layout_height="110dp"
        android:layout_column="0"
        android:layout_columnWeight="1"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="20dp"
        android:layout_row="0"
        android:src="@drawable/calc"
        app:civ_border_color="#00C3C9"
        app:civ_border_width="0dp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_column="0"
        android:layout_columnWeight="1"
        android:layout_gravity="fill_horizontal|center_horizontal"
        android:layout_row="1"
        android:gravity="center"
        android:text="CALC"
        android:textSize="25dp" />


    <de.hdodenhof.circleimageview.CircleImageView xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="110dp"
        android:layout_height="110dp"
        android:layout_row="0"
        android:layout_column="1"
        android:layout_columnWeight="1"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="20dp"
        android:src="@drawable/statst"
        app:civ_border_color="#ffffff"
        app:civ_border_width="0dp" />

    <TextView
        android:layout_width="110dp"
        android:layout_height="wrap_content"
        android:layout_column="1"
        android:layout_columnWeight="1"
        android:layout_gravity="fill_horizontal|center_horizontal"
        android:layout_row="1"
        android:gravity="center"
        android:text="Statistics"
        android:textSize="25dp" />

    <de.hdodenhof.circleimageview.CircleImageView xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="110dp"
        android:layout_height="110dp"
        android:layout_column="0"
        android:layout_columnWeight="1"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="20dp"
        android:layout_row="2"
        android:src="@drawable/reporting_icon1"
        app:civ_border_color="#00C3C9"
        app:civ_border_width="0dp" />

    <TextView
        android:layout_width="110dp"
        android:layout_height="wrap_content"
        android:layout_column="0"
        android:layout_columnWeight="1"
        android:layout_gravity="fill_horizontal|center_horizontal"
        android:layout_row="3"
        android:gravity="center"
        android:text="History"
        android:textSize="25dp" />

    <de.hdodenhof.circleimageview.CircleImageView xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="110dp"
        android:layout_height="110dp"
        android:layout_row="2"
        android:layout_column="1"
        android:layout_columnWeight="1"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="20dp"
        android:src="@drawable/hashtag"
        app:civ_border_color="#ffffff"
        app:civ_border_width="0dp" />

    <TextView
        android:layout_width="110dp"
        android:layout_height="wrap_content"
        android:layout_column="1"
        android:layout_columnWeight="1"
        android:layout_gravity="fill_horizontal|center_horizontal"
        android:layout_row="3"
        android:gravity="center"
        android:text="Codes"
        android:textSize="25dp" />

    <de.hdodenhof.circleimageview.CircleImageView xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="110dp"
        android:layout_height="110dp"
        android:layout_column="0"
        android:layout_columnWeight="1"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="20dp"
        android:layout_row="4"
        android:layout_columnSpan="1"
        android:src="@drawable/documents"
        app:civ_border_color="#00C3C9"
        app:civ_border_width="0dp" />

    <TextView
        android:layout_width="110dp"
        android:layout_height="wrap_content"
        android:layout_column="0"
        android:layout_columnWeight="1"
        android:layout_gravity="fill_horizontal|center_horizontal"
        android:layout_row="5"
        android:gravity="center"
        android:text="Plans"
        android:textSize="25dp" />

</GridLayout>

В результате два столбца не центрированы введите здесь описание изображения

Я использовал CircleImageview

dependencies {
    ...
    compile 'com.android.support:support-v4:23.1.1'
    compile 'de.hdodenhof:circleimageview:2.0.0'
    compile 'com.android.support:design:23.1.1'
}

person user3341564    schedule 08.07.2016    source источник


Ответы (1)


<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    orientation="horizontal">
    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        orientation="vertical">
    </LinearLayout>
    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        orientation="vertical">
    </LinearLayout>
</LinearLayout>

Два внутренних линейных макета будут иметь одинаковую ширину. Из-за layout_weight="1". Это ваши две колонки.

person thealeksandr    schedule 08.07.2016