Gallery is an internal element which can scroll horizontally and layout component of the currently selected child elements are positioned in the center of it.
STEP 1: Creating a newproject from File->New->Android Project with Gallerydemo Activity Name
STEP 2: Copy Imagefiles to res/drawable Folder
STEP 3: In res/layout/main.xm layout add ImageView and GalleryView as:
STEP 4: In res/values add attrs.xml as:
STEP 5: In Gallerydemo Activity Create an ImageAdapter which extends BaseAdapter as:
STEP 1: Creating a new
STEP 2: Copy Image
STEP 3: In res/layout/main.xm layout add ImageView and Gallery
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <?xml version="1.0" encoding="utf-8"?> android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <!-- ImageView for display image in background --> <ImageView android:id="@+id/imgview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/a01" /> <!-- Gallery To show images Gallery --> android:id="@+id/galleryview" android:layout_width="fill_parent" android:layout_height="wrap_content" android:spacing="5dp" /> </FrameLayout > |
STEP 4: In res/values add attrs.xml as:
1 2 3 4 5 6 | <?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="HelloGallery"> <attr name="android:galleryItemBackground"/> </declare-styleable></resources> |
STEP 5: In Gallerydemo Activity Create an ImageAdapter which extends BaseAdapter as:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | package com.imrankhanandroid.Galleryexp;import android.import android.content.Context;import android.content.res.TypedArray;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.view.Window;import android.view.WindowManager;import android.widget.AdapterView;import android.widget.BaseAdapter;import android.widget.Gallery;import android.widget.ImageView;import android.widget.Toast;import android.widget.AdapterView.OnItemClickListener; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { //Remove title this.requestWindowFeature(Window.FEATURE_NO_TITLE); //Remove notification bar this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.main); final ImageView imagevew = (ImageView)findViewById(R.id.imgview); Gallery gallryview = (Gallery)findViewById(R.id.galleryview); gallryview.setAdapter(new ImageAdapter(this)); gallryview.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<!--?--> parent, View view, int position,long id) { // TODO Auto-generated method stub // The first few pictures show click Toast.makeText(Gallerydemo.this, "" + position, Toast.LENGTH_LONG).show(); //Set the backgroundPart of theImageView imagevew.setImageResource(((ImageView) view).getId()); } }); } public class ImageAdapter extends BaseAdapter { int mGalleryItemBackground; // Context object private Context mContext; // Picture array private Integer[] mImageIds ={ R.drawable.a01,R.drawable.a02, R.drawable.a03,R.drawable.a04, R.drawable.a05,R.drawable.a06, R.drawable.a07,R.drawable.a08, R.drawable.a09,R.drawable.a010, }; // ImageAdapter Constructor public ImageAdapter(Context c) { this.mContext = c; //styleable resources TypedArray a = obtainStyledAttributes(R.styleable.HelloGallery); mGalleryItemBackground = a.getResourceId( R.styleable.HelloGallery_android_galleryItemBackground,0); a.recycle(); } // Get number of items @Override public int getCount() { // TODO Auto-generated method stub return mImageIds.length; } @Override public Object getItem(int position) { // TODO Auto-generated method stub return position; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } //Return view @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub ImageView iv = new ImageView(mContext); iv.setImageResource(mImageIds[position]); iv.setId(mImageIds[position]); iv.setLayoutParams(new Gallery.LayoutParams(120, 160)); iv.setScaleType(ImageView.ScaleType.FIT_XY); iv.setBackgroundResource(mGalleryItemBackground); return iv; } } } |

