Friday, July 13, 2012

Gallery View in Android



Click Here to Download  Source Code

Package Name  :  selva.gallery

Project Name   :  Gallery

Version Name   :  1.5 (Supports 1.5 and above versions)

main.xml

<?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="Images" />
    <Gallery
        android:id="@+id/gallery1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
    <ImageView
        android:id="@+id/image1"
        android:layout_width="320px"
        android:layout_height="250px"
        android:scaleType="fitXY" />
</LinearLayout>


 note: res/values/img.xml

img.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="Gallery1">
<attr name="android:galleryItemBackground"/>
</declare-styleable>
</resources>



GalleryActivity.java


package selva.gallery;

import android.app.Activity;
import android.os.Bundle;
import android.content.Context;
import android.content.res.TypedArray;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;
import android.widget.Toast;

public class GalleryActivity extends Activity {
   
    //---the images to display---
    Integer[] imageIDs = {
    R.drawable.image1,
    R.drawable.image2,
    R.drawable.image3,
    R.drawable.image4,
    R.drawable.image5,
    R.drawable.image6,
        };
   
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Gallery gallery = (Gallery) findViewById(R.id.gallery1);
        gallery.setAdapter(new ImageAdapter(this));
        gallery.setOnItemClickListener(new OnItemClickListener()
        {
        public void onItemClick(AdapterView<?> parent, View v,
        int position, long id)
        {
        Toast.makeText(getBaseContext(),
        "pic" + (position + 1) + "selected",
        Toast.LENGTH_SHORT).show();
        }
        });
    }
   
    public class ImageAdapter extends BaseAdapter
    {
      private Context context;
      private int itemBackground;
       public ImageAdapter(Context c)
       {
          context = c;
          //---setting the style---
          TypedArray a = obtainStyledAttributes(R.styleable.Gallery1);
          itemBackground = a.getResourceId(
          R.styleable.Gallery1_android_galleryItemBackground, 0);
          a.recycle();
       }
       //---returns the number of images---
       public int getCount()
       {
           return imageIDs.length;
       }
           //---returns the ID of an item---
       public Object getItem(int position)
       {
           return position;
       }
       //---returns the ID of an item---
       public long getItemId(int position)
       {
           return position;
       }
       //---returns an ImageView view---
    public View getView(int position, View convertView, ViewGroup parent)
    {
    ImageView imageView = new ImageView(context);
    imageView.setImageResource(imageIDs[position]);
    imageView.setScaleType(ImageView.ScaleType.FIT_XY);
    imageView.setLayoutParams(new Gallery.LayoutParams(150, 120));
    imageView.setBackgroundResource(itemBackground);
 
    return imageView;
    }
    } 
}


OUTPUT:














































Click Here to Download  Source Code





1 comment:

  1. how to make a button to set wallpaper in above code (using gallery view)??
    can u tell me plzzz?

    ReplyDelete