Android之浅谈Gallery

package hfut.gmm;


import android.app.Activity;
import android.content.res.TypedArray;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.ViewGroup.LayoutParams;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;
import android.widget.AdapterView.OnItemClickListener;

public class Gallery_demo1 extends Activity {
	Gallery gallery;
	 private Integer[] pics = { R.drawable.pic_one, R.drawable.pic_two,
				R.drawable.pic_three, R.drawable.pic_four, R.drawable.pic_five,R.drawable.pic_six,
				R.drawable.pic_seven
				};
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		this.requestWindowFeature(Window.FEATURE_NO_TITLE);

		this.setContentView(R.layout.gallery1);
		 gallery=(Gallery)this.findViewById(R.id.gallery1);
		 gallery.setAdapter(new ImageAdapter());
		 gallery.setOnItemClickListener(new OnItemClickListener(){

			@Override
			public void onItemClick(AdapterView<?> arg0, View arg1, int position,
					long arg3) {
				// TODO Auto-generated method stub
				Log.d("Infor", ""+position%pics.length);
			}
			 
		 });
		 
	}
   class ImageAdapter extends  BaseAdapter{

	@Override
	public int getCount() {
		// TODO Auto-generated method stub
		return Integer.MAX_VALUE;  // 可使图片循环展示
		//return pics.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;
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		// TODO Auto-generated method stub
		ImageView img=new ImageView(Gallery_demo1.this);
		img.setImageResource(pics[position%pics.length]);
		//设置边界对齐
		img.setAdjustViewBounds(true);
		//设置布局参数
		img.setLayoutParams(new Gallery.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
		img.setScaleType(ImageView.ScaleType.FIT_XY);
		TypedArray a = obtainStyledAttributes(R.styleable.Gallery1);//加载一个背景框框
		int mGalleryItemBackground = a.getResourceId(
				R.styleable.Gallery1_android_galleryItemBackground, 0);
		a.recycle();
		img.setBackgroundResource(mGalleryItemBackground);
		return img;
	}
	   
   }
}

截图如下:

Android之浅谈Gallery_第1张图片

参考:http://www.2cto.com/kf/201110/108180.html


你可能感兴趣的:(Android之浅谈Gallery)