Top Menu

Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

Thursday 18 September 2014

GalleryView in Android


GalleryView in Android is the coding for,how to set the images in the galleryview.

The images in the galleryview can be scrollable and easily able to switch another picture,

 

First,The xml file for the galleryview.

MainActivity.xml  

//Here you have to set the view for image and gallery.

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

//Then you have to set the style for the galleryView.

res/values/img.xml

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

//finally have to add class for the galleryview..

MainActivity.java

import android.app.Activity;

import android.content.Context;

import android.content.res.TypedArray;

import android.os.Bundle;

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 MainActivity extends Activity {

    

    //—the images to display—

    Integer[] imageIDs = {

    R.drawable.apps,

    R.drawable.camera,

    R.drawable.computer,

    R.drawable.gaming,

    R.drawable.mobile,

    R.drawable.social,

        };

    ImageView img_view;

    /** Called when the activity is first created. */

    @Override

    public void onCreate(Bundle savedInstanceState)

    {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        Gallery gallery = (Gallery) findViewById(R.id.gallery1);

        img_view=(ImageView)findViewById(R.id.image1);

 

//set the images in the galleryView.

 

        gallery.setAdapter(new ImageAdapter(this));

        gallery.setOnItemClickListener(new OnItemClickListener()

        {

        public void onItemClick(AdapterView<?> parent, View v,

        int position, long id)

        {

        img_view.setBackgroundResource(imageIDs[position]);

        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;

    }

    }  

}

No comments:

Post a Comment