Tuesday 17 December 2013

GALARY EXAMPLE USING ANDROID

1 )  Create Main.XML File   


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

<Gallery 
    android:id="@+id/Gallery01" 
    android:layout_width="fill_parent" 

    android:layout_height="wrap_content"></Gallery>
<android:id="@+id/ImageView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content">

2) Create Attributes.XML file


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

</resources>

3 ) Create Gallaryview.java File
 package com.sai.samples.views;

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 GalleryView extends Activity {
    Integer[] pics = {
            R.drawable.a,
            R.drawable.b,
            R.drawable.c,
            R.drawable.d,
            R.drawable.e,
            R.drawable.f,
            R.drawable.g,
            R.drawable.h,
            R.drawable.i
            
    };
    ImageView imageView;
    
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        Gallery ga = (Gallery)findViewById(R.id.Gallery01);
        ga.setAdapter(new ImageAdapter(this));
        
        imageView = (ImageView)findViewById(R.id.ImageView01);
        ga.setOnItemClickListener(new OnItemClickListener() {

       @Override
public void onItemClick(AdapterView<?> arg0, View arg1,int arg2,long arg3) 
    {
Toast.makeText(getBaseContext(), "You have selected picture " + (arg2+1) + " of Antartica", Toast.LENGTH_SHORT).show();
          imageView.setImageResource(pics[arg2]);
          }
       });
        
    }
    
    
    public class ImageAdapter extends BaseAdapter
      {
   private Context ctx;
           int imageBackground;
      public ImageAdapter(Context c) 
{
  ctx = c;
  TypedArray ta = obtainStyledAttributes(R.styleable.Gallery1);
imageBackground=  ta.getResourceId(R.styleable.Gallery1_android_galleryItemBackground, 1);
    ta.recycle();
        }
    @Override
        public int getCount()
       {
    return pics.length;
          }
     @Override
        public Object getItem(int arg0) 
        { 
            return arg0;
           }
      @Override
         public long getItemId(int arg0)
        {
            
            return arg0;
          }
    @Override
        public View getView(int arg0, View arg1, ViewGroup arg2)
       {
            ImageView iv = new ImageView(ctx);
            iv.setImageResource(pics[arg0]);
            iv.setScaleType(ImageView.ScaleType.FIT_XY);
            iv.setLayoutParams(new Gallery.LayoutParams(150,120));
            iv.setBackgroundResource(imageBackground);
            return iv;
        }

    }

}

screenshots:


No comments:

Post a Comment

Comment