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 new project from File->New->Android Project with Gallerydemo Activity Name
STEP 2: Copy Image files to res/drawable Folder
STEP 3: In res/layout/main.xm layout add ImageView and Gallery View 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 project from File->New->Android Project with Gallerydemo Activity Name
STEP 2: Copy Image files to res/drawable Folder
STEP 3: In res/layout/main.xm layout add ImageView and Gallery View as:
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 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 --> <Gallery xmlns:android="http://schemas.android.com/apk/res/android" 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:
<?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:
package com.imrankhanandroid.Galleryexp; 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.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; public class Gallerydemo extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //Remove title bar 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; } } }
Download Source Code: GalleryExample
1 comments:
Post a Comment