0

I want to create image buttons with a flexible size so that they can fit in any android device without problems, that's the code I'm using:

 <GridLayout
        android:id="@+id/grid1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_centerInParent="true"
        android:layout_marginTop="150dp"
        android:background="@drawable/corneres"
        android:columnCount="1"
        android:orientation="vertical" >

        <ImageButton
            android:id="@+id/imageButton1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/homeview"
            android:scaleType="centerInside"
            android:adjustViewBounds="true" />

        <ImageButton
            android:id="@+id/imageButton3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_column="0"
            android:layout_gravity="right|top"
            android:layout_row="0"
            android:src="@drawable/profiles"         
            android:scaleType="centerInside"
            android:adjustViewBounds="true"/>

        <ImageButton
            android:id="@+id/imageButton2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_column="0"
            android:layout_gravity="center"
            android:layout_row="0"
            android:src="@drawable/ac" 
            android:scaleType="centerInside"
            android:adjustViewBounds="true"/>

          .
          .
          .

    </GridLayout>

and that is the output i got from some device.

MRefaat
  • 515
  • 2
  • 8
  • 22

1 Answers1

0

Wrap your GridLayout within a ScrollView:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
     <GridLayout
         android:id="@+id/grid1"
         android:layout_width="fill_parent"
         android:layout_height="fill_parent"
         android:layout_centerInParent="true"
         android:layout_marginTop="150dp"
         android:background="@drawable/corneres"
         android:columnCount="1"
         android:orientation="vertical" >

         <ImageButton
             android:id="@+id/imageButton1"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:src="@drawable/homeview"
             android:scaleType="centerInside"
             android:adjustViewBounds="true" />  
         ....
         ....
         ....  
    </GridLayout>  
</ScrollView>  

UPDATE

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

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

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

        <ImageButton
             android:id="@+id/imageButton1"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:src="@drawable/image"
             android:layout_weight="1"
             android:scaleType="centerInside"
             android:adjustViewBounds="true" />
        <ImageButton
             android:id="@+id/imageButton2"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:src="@drawable/image"
             android:layout_weight="1"
             android:scaleType="centerInside"
             android:adjustViewBounds="true" />
        <ImageButton
             android:id="@+id/imageButton3"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:src="@drawable/image"
             android:layout_weight="1"
             android:scaleType="centerInside"
             android:adjustViewBounds="true" />

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

        <ImageButton
             android:id="@+id/imageButton4"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:src="@drawable/image"
             android:layout_weight="1"
             android:scaleType="centerInside"
             android:adjustViewBounds="true" />
        <ImageButton
             android:id="@+id/imageButton5"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:src="@drawable/image"
             android:layout_weight="1"
             android:scaleType="centerInside"
             android:adjustViewBounds="true" />
        <ImageButton
             android:id="@+id/imageButton6"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:src="@drawable/image"
             android:scaleType="centerInside"
             android:layout_weight="1"
             android:adjustViewBounds="true" />

    </LinearLayout>

</LinearLayout>
ramaral
  • 6,149
  • 4
  • 34
  • 57