SparkyNZ
SparkyNZ

Reputation: 6676

Android GridLayout of Buttons with no gaps

What is the trick for removing all gaps between an GridLayout containing buttons?

I'm using XML to define the layout. Here is what it looks like:

enter image description here

And here is the XML:

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="center"
    android:layout_margin="0dp"
    android:alignmentMode="alignMargins"
    android:clipToPadding="false"
    android:columnCount="4"
    android:fitsSystemWindows="false"
    android:layoutMode="clipBounds"
    android:orientation="horizontal"
    android:padding="0dp"
    android:rowCount="3"
    android:adjustViewBounds="true"    
    android:useDefaultMargins="true" >

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="fill_horizontal|fill"
            android:layout_margin="0dp"
            android:layout_weight="1"
            android:text="1" />

        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="fill"
            android:layout_margin="0dp"
            android:layout_weight="1"
            android:padding="0dp"
            android:text="2" />

       <Button
           android:id="@+id/button3"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_gravity="fill"
           android:layout_margin="0dp"
           android:layout_weight="1"
           android:text="3" />

        <Button
            android:id="@+id/button4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="fill"
            android:layout_margin="0dp"
            android:layout_weight="1"
            android:text="4" />

        <Button
            android:id="@+id/button5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="fill"
            android:layout_margin="0dp"
            android:layout_weight="1"
            android:text="5" />

        <Button
            android:id="@+id/button6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="fill"
            android:layout_margin="0dp"
            android:layout_weight="1"
            android:text="6" />

        <Button
            android:id="@+id/button7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="fill"
            android:layout_margin="0dp"
            android:layout_rowSpan="2"
            android:layout_weight="1"
            android:text="7" />

        <Button
            android:id="@+id/button8"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="fill"
            android:layout_margin="0dp"
            android:layout_rowSpan="2"
            android:layout_weight="1"
            android:text="8" />

        <Button
            android:id="@+id/button9"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnSpan="2"
            android:layout_gravity="fill"
            android:layout_margin="0dp"
            android:layout_weight="1"
            android:text="9" />

</GridLayout>

Upvotes: 0

Views: 693

Answers (2)

The Badak
The Badak

Reputation: 2030

try this in your xml:

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="fill_horizontal|fill"
        android:layout_margin="0dp"
        android:layout_weight="1"
        android:background="#ef2c6e"
        android:text="1" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="fill"
        android:layout_margin="0dp"
        android:layout_weight="1"
        android:background="#c2afdc"
        android:padding="0dp"
        android:text="2" />

   <Button
       android:id="@+id/button3"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_gravity="fill"
       android:layout_margin="0dp"
       android:layout_weight="1"
       android:background="#d2f2f2"
       android:text="3" />

    <Button
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="fill"
        android:layout_margin="0dp"
        android:layout_weight="1"
        android:background="#c2dfa2"
        android:text="4" />

    <Button
        android:id="@+id/button5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="fill"
        android:layout_margin="0dp"
        android:layout_weight="1"
        android:background="#1f9fcd"
        android:text="5" />

    <Button
        android:id="@+id/button6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="fill"
        android:layout_margin="0dp"
        android:layout_weight="1"
        android:background="#f251ff"
        android:text="6" />

    <Button
        android:id="@+id/button7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="fill"
        android:layout_margin="0dp"
        android:layout_rowSpan="2"
        android:layout_weight="1"
        android:background="#a2dfaf"
        android:text="7" />

    <Button
        android:id="@+id/button8"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="fill"
        android:layout_margin="0dp"
        android:layout_rowSpan="2"
        android:layout_weight="1"
        android:background="#daaf2f"
        android:text="8" />

    <Button
        android:id="@+id/button9"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_columnSpan="2"
        android:layout_gravity="fill"
        android:layout_margin="0dp"
        android:layout_weight="1"
        android:background="#f21fa2"
        android:text="9" />

Here's the screenshot:

enter image description here

Upvotes: 1

Zar E Ahmer
Zar E Ahmer

Reputation: 34360

Use a gridview instead of gridLayout and set the properties

android:verticalSpacing="0dp"
android:horizontalSpacing="0dp"

Upvotes: 0

Related Questions