Saturday, April 28, 2012

Android Simple GridView Example


SIMPLE GRIDVIEW

SOURCE CODE [main.xml] is

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:orientation="vertical"
android:layout_width="fill_parent"
                android:layout_height="fill_parent">

                <TextView android:layout_width="fill_parent"
                                android:layout_height="wrap_content"
android:text="@string/hello" />

                <GridView android:id="@+id/gridview"
android:layout_width="fill_parent"
                                android:layout_height="fill_parent"
android:numColumns="auto_fit"
                                android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
                                android:columnWidth="90dp"
android:stretchMode="columnWidth"
                                android:gravity="center" />

</LinearLayout>

SOURCE CODE [GridViewExample.java] is

package com.GridViewExample;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;

public class GridViewExample extends Activity
{

public void onCreate(Bundle savedInstanceState)
{
                                super.onCreate(savedInstanceState);
                                setContentView(R.layout.main);

GridView gridview = (GridView) findViewById(R.id.gridview);
                                 gridview.setAdapter(new ImageAdapter(this));
}

public class ImageAdapter extends BaseAdapter
{
private Context mContext;

public ImageAdapter(Context c)
{
mContext = c;
                                }

                                public int getCount()
{
                                                return mThumbIds.length;
                                }

public Object getItem(int position)
{
                                                return null;
                                }

public long getItemId(int position)
{
return 0;
                                }

// create a new ImageView for each item referenced by the Adapter
                                public View getView(int position, View convertView, ViewGroup parent)
{
ImageView imageView;
                                                if (convertView == null)
{
 imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(8, 8, 8, 8);
}
else
{
imageView = (ImageView) convertView;
                                                }
imageView.setImageResource(R.drawable.icon);
                                                return imageView;
                                }
private Integer[] mThumbIds = {R.drawable.icon, R.drawable.icon,
R.drawable.icon, R.drawable.icon,
                                                R.drawable.icon, R.drawable.icon,
                                                R.drawable.icon, R.drawable.icon,
                                                R.drawable.icon, R.drawable.icon};
}   

}

The OUTPUT will be


https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj707sct1CoxygMfgOVk0WTj9dYIaY1cz0Og3QmUdl3hLo0iFkAZEmfzHbwfkLD9Mu1XQGfYD4IxMhsxrdj3GKFBr6IIPJV5WSRkJ3PBqUEo3uROcKTFGEkjAeMJL1cAa1ktrUUT59en2M/