2
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
    android:background="#FFFFFF"
    android:layout_gravity="center_horizontal"
    android:padding="5dip" >
    <GridView
        android:id="@+id/homeGridView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:columnWidth="160dip"
        android:adjustViewBounds="true" 
        android:layout_gravity="center_horizontal"
        android:layout_centerInParent="true"
        android:gravity="center_horizontal"
        android:numColumns="2"
        android:stretchMode="none"/>
</RelativeLayout>

I have been breaking my head on how to make the gridView center horizonal and vertical. I have also attached my screen-shot for the same. Below is my image code.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
    android:layout_gravity="center_horizontal"
    android:padding="5dip" >

    <ImageView
        android:id="@+id/grid_item_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"  
        android:layout_centerHorizontal="true">
    </ImageView>

</RelativeLayout>
theJava
  • 14,620
  • 45
  • 131
  • 172

2 Answers2

4

Well if you don't want to use TableLayout (as you says in your precedent post), dealing with GridView is pretty complicated (i've lost a lot of times on this). The only idea i have his to force your GridView to have an exact width, that is the sum of your 2 views: 160dip * 2.

    android:layout_width="320dip"

Feel free to add 10dip or more for padding.

N.B.: i'm not sure if this is the best way and if this is proper for every device. Try it and let me know ;) .

Community
  • 1
  • 1
JJ86
  • 5,055
  • 2
  • 35
  • 64
1

Use these 2 tags inside ur gridview see if it works

android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
nidhi_adiga
  • 1,114
  • 1
  • 16
  • 27
  • Can u just remove gravity tags and centerInParent tag both in Gridview and relativelayout and only use these 2 in gridview and see... – nidhi_adiga Mar 22 '13 at 12:40
  • I tried the above too, it does not make any change... http://pastie.org/private/zfinfrxvxmwirw0yvr5qg – theJava Mar 22 '13 at 12:44