首页>代码>Android中Gallery图片浏览>/UI_Test_Gallery/UI_Test_Gallery/src/com/devdiv/test/ui_test_gallery/UI_Test_GalleryActivity.java
package com.devdiv.test.ui_test_gallery;

/*
 * 1、注意attrs.xml文件的内容,和JAVA文件中引用和设置的方式:
 *      ********************************
 * 		// 实用布局文件中的Gallery属性
 *  	TypedArray a = obtainStyledAttributes(R.styleable.Gallery);
 *		// 取得gallery属性饿index id
 *   	myGalleryItemBackground = a.getResourceId(R.styleable.Gallery_android_galleryItemBackground, 0);
 *   	// 让对象的styleable属性能反复实用
 *   	a.recycle();
 *      **********************************
 *      //设置背景的
 *		myImageView.setBackgroundResource(myGalleryItemBackground);
 * 
 * 2、注意ImageView的一些设置方法和细节
 *    myImageView.setScaleType(ImageView.ScaleType.FIT_XY); 
 *    myImageView.setLayoutParams(new Gallery.LayoutParams(100, 220));	
 * 
 * 3、Gallery的使用方法和ListView相似
 */

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.TextView;
import android.widget.Toast;

public class UI_Test_GalleryActivity extends Activity {
	
	private Gallery myGallery;
	private TextView myTextView;
	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        myGallery = (Gallery) findViewById(R.id.mygallery);
        myGallery.setAdapter(new MyImageAdapter(this));
        
        myGallery.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> arg0, View v, int position,
					long id) {
				// TODO Auto-generated method stub
				Toast.makeText(UI_Test_GalleryActivity.this, "Click Image" + position, Toast.LENGTH_SHORT).show();
			}
		});
        
    }
    
    public class MyImageAdapter extends BaseAdapter {
    	
    	private int[] imageId = {R.drawable.i1, R.drawable.i2, R.drawable.i3, R.drawable.i4,
    			                 R.drawable.i1, R.drawable.i2, R.drawable.i3, R.drawable.i4,
    			                 R.drawable.i1, R.drawable.i2, R.drawable.i3, R.drawable.i4,};
    	
    	private int myGalleryItemBackground;
    	private Context myContext;
    	
    	public MyImageAdapter(Context context) {
    		
    		myContext = context;
    		
    		/*
    		 * TypedArray:
    		 * 
    		 * Container for an array of values that were retrieved with obtainStyledAttributes(AttributeSet, int[], int, int) or obtainAttributes(AttributeSet, int[]). 
    		 * Be sure to call recycle() when done with them. 
    		 * The indices used to retrieve values from this structure correspond to the positions of the attributes given to obtainStyledAttributes
    		 */
    		
    		/*
    		 * 这部分看的不是特别明白,如何使用Gallery的背景式样
    		 */
    		
    		// 实用布局文件中的Gallery属性
    		TypedArray a = obtainStyledAttributes(R.styleable.Gallery);
    		// 取得gallery属性饿index id
    		myGalleryItemBackground = a.getResourceId(R.styleable.Gallery_android_galleryItemBackground, 0);
    		// 让对象的styleable属性能反复实用
    		a.recycle();	
    	}
    	

		@Override
		public int getCount() {
			// TODO Auto-generated method stub
			return imageId.length;
		}

		@Override
		public Object getItem(int position) {
			// TODO Auto-generated method stub
			return imageId[position];
		}

		@Override
		public long getItemId(int position) {
			// TODO Auto-generated method stub
			return position;
		}

		@Override
		public View getView(int position, View converView, ViewGroup parent) {
			// TODO Auto-generated method stub
			ImageView myImageView = new ImageView(myContext);
			//设置ImageView内的图片资源
			myImageView.setImageResource(imageId[position]);
			//设置背景的
			myImageView.setBackgroundResource(myGalleryItemBackground);
			//设置图片的伸缩模式
			myImageView.setScaleType(ImageView.ScaleType.FIT_XY);
			//设置ImageView的布局,300*420
			myImageView.setLayoutParams(new Gallery.LayoutParams(300, 420));
//			myImageView.setLayoutParams(new Gallery.LayoutParams(100, 220));
			
			return myImageView;
		}
    }
}
最近下载更多
小白小怪  LV10 2021年12月11日
小肥羊  LV16 2019年7月24日
DPDG_Xin  LV1 2018年5月1日
saijirihu1234  LV9 2017年7月1日
v2v2123  LV6 2016年11月10日
273221594  LV4 2016年8月30日
快乐小佛爷  LV8 2015年8月16日
Maybe  LV14 2015年6月7日
leehove  LV17 2015年3月17日
hollyshen1  LV2 2015年1月6日
最近浏览更多
gshnbb  LV9 2023年5月11日
xiaoqiaothq  LV2 2023年4月2日
清横白川玉  LV6 2022年12月27日
Jerry_Handson  LV9 2022年11月18日
2017143155  LV12 2021年12月26日
小白小怪  LV10 2021年12月11日
cus112  LV3 2021年2月24日
wyx065747  LV67 2021年1月3日
fuloveyan  LV5 2020年12月21日
guiyi16  LV4 2020年10月12日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友