atul kumar
atul kumar

Reputation: 99

Grid layout not getting aligned properly

I am trying to make an app which contains a grid layout. I have to insert 4 buttons in the layout but I am facing problems regarding the alignment of these buttons.

Here is a screenshot and the xml file:

enter image description here

XML file:

<GridLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/sumTextView"
        android:columnCount="2"
        android:rowCount="2">

        <Button
            android:id="@+id/button0"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_column="0"
            android:layout_columnWeight="0"
            android:layout_gravity="fill"
            android:layout_row="0"
            android:layout_rowWeight="0"
            android:onClick="chooseAnswer"
            android:tag="0"
            android:text="3"
            android:textSize="80sp" />

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_column="1"
            android:layout_columnWeight="0"
            android:layout_gravity="fill"
            android:layout_row="0"
            android:layout_rowWeight="0"
            android:onClick="chooseAnswer"
            android:tag="1"
            android:text="3"
            android:textSize="80sp" />

        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_column="0"
            android:layout_columnWeight="0"
            android:layout_gravity="fill"
            android:layout_row="1"
            android:layout_rowWeight="0"
            android:onClick="chooseAnswer"
            android:tag="2"
            android:text="3"
            android:textSize="80sp" />

        <Button
            android:id="@+id/button3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_column="1"
            android:layout_columnWeight="0"
            android:layout_gravity="fill"
            android:layout_row="1"
            android:layout_rowWeight="0"
            android:onClick="chooseAnswer"
            android:tag="3"
            android:text="3"
            android:textSize="80sp" />
    </GridLayout>

Can someone tell me what the error is?

Upvotes: 0

Views: 47

Answers (1)

Karan Kalsi
Karan Kalsi

Reputation: 819

Add android:layout_columnWeight="1" and android:layout_rowWeight="1" to all cells. Like this:

<GridLayout android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_below="@+id/sumTextView"
    android:columnCount="2"
    android:rowCount="2"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <Button
        android:id="@+id/button0"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_column="0"
        android:layout_gravity="fill"
        android:layout_row="0"
        android:layout_rowWeight="1"
        android:layout_columnWeight="1"
        android:onClick="chooseAnswer"
        android:tag="0"
        android:text="3"
        android:textSize="80sp" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_column="1"
        android:layout_gravity="fill"
        android:layout_row="0"
        android:layout_rowWeight="1"
        android:layout_columnWeight="1"
        android:onClick="chooseAnswer"
        android:tag="1"
        android:text="3"
        android:textSize="80sp" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_column="0"
        android:layout_gravity="fill"
        android:layout_row="1"
        android:layout_rowWeight="1"
        android:layout_columnWeight="1"
        android:onClick="chooseAnswer"
        android:tag="2"
        android:text="3"
        android:textSize="80sp" />

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_column="1"
        android:layout_gravity="fill"
        android:layout_row="1"
        android:layout_rowWeight="1"
        android:layout_columnWeight="1"
        android:onClick="chooseAnswer"
        android:tag="3"
        android:text="3"
        android:textSize="80sp" />
</GridLayout>

Upvotes: 3

Related Questions