Android UI学习之Gallery

2022-05-08 15:53:27 浏览数 (1)

 在生活就大家都会在手机上浏览图片,然后会用手指从左到右滑动。其实这样的效果就是借助Gallery实现的。

接下来一一个简单的例子介绍Gallery的使用:

代码语言:javascript复制
public class GalleryActivty extends Activity {

	private static Gallery mGallery;
	private int[] images = 
		{
			R.drawable.a, R.drawable.b,
			R.drawable.c, R.drawable.d,
			R.drawable.e, R.drawable.f,
			R.drawable.h
		};
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_gallery);
		
		mGallery = (Gallery) findViewById(R.id.gallery);
		
		mGallery.setAdapter(new MyAdapter(this));
		mGallery.setSpacing(10);
	}
	
	class MyAdapter extends BaseAdapter
	{

		private Context context;
		public MyAdapter(Context context)
		{
			this.context = context;
		}
		
		@Override
		public int getCount() {
			// 获取图片资源的总数
			return images.length;
		}

		@Override
		public Object getItem(int position) {
			// 获得图片当前位置
			return position;
		}

		@Override
		public long getItemId(int position) {
			// 获得当前位置的图片ID
			return images[position];
		}

		@Override
		public View getView(int position, View convertView, ViewGroup parent) {
			// 获得当前图片资源
			
			ImageView view = new ImageView(this.context);
			
			view.setImageResource(images[position]);
			view.setAdjustViewBounds(true);
			//设置图片的大小
			view.setLayoutParams(new Gallery.LayoutParams(300, 300));
			//view.setPadding(15, 10, 15, 10);
			return view;
		}
		
	}
	
}

布局文件很简单:

代码语言:javascript复制
<Gallery 
    	android:id="@ id/gallery"
    	android:layout_width="fill_parent"
    	android:layout_height="wrap_content"
    	android:layout_centerVertical="true"
    	/>    

运行效果如下:

总结: 一般Gallery和ImageSwitcher一起使用。 这样会用更炫的效果。 

0 人点赞