theJava
theJava

Reputation: 15034

Making the gridView center in Android

<?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>

Upvotes: 2

Views: 873

Answers (2)

JJ86
JJ86

Reputation: 5113

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 ;) .

Upvotes: 4

nidhi_adiga
nidhi_adiga

Reputation: 1114

Use these 2 tags inside ur gridview see if it works

android:layout_centerVertical="true"
android:layout_centerHorizontal="true"

Upvotes: 1

Related Questions