【android基础教程】特效Gallery的简单应用并实现无限循环

本文提供了一个Gallery组件的代码实现示例,包括布局设置、适配器实现和图像加载逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 多的不多说了,直接上代码,也是有注视的,感谢 魏祝林 

package com.testSerfaceView;

import com.testSerfaceView.R.drawable;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;

public class GalleryDemo extends Activity {

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.grallery);

		((Gallery) findViewById(R.id.myGallery1)).setAdapter(new ImageAdapter(
				this));
	}

	public class ImageAdapter extends BaseAdapter {
		/* 类成员 myContext为Context父类 */
		private Context myContext;

		/* 使用res/drawable图片作为图片来源 */
		private int[] myImageIds = { drawable.andriod0001,
				drawable.andriod0002, drawable.andriod0003,
				drawable.andriod0004, drawable.andriod0005,
				drawable.andriod0006, drawable.andriod0007,
				drawable.andriod0008, drawable.andriod0009,
				drawable.andriod0010, drawable.andriod0011,
				drawable.andriod0012, drawable.andriod0013,
				drawable.andriod0014, drawable.andriod0015,
				drawable.andriod0016};

		/* 构造器只有一个参数,即要存储的Context */
		public ImageAdapter(Context c) {
			this.myContext = c;
		}

		/* 返回所有已定义的图片总数量 */
		public int getCount() {
//			return this.myImageIds.length;
			return Integer.MAX_VALUE;
		}

		/* 利用getItem方法,取得目前容器中图像的数组ID */
		public Object getItem(int position) {
			return position;
		}

		public long getItemId(int position) {
			return position;
		}

		/* 取得目前欲显示的图像View,传入数组ID值使之读取与成像 */
		public View getView(int position, View convertView, ViewGroup parent) {
			/* 创建一个ImageView对象 */
			ImageView i = new ImageView(this.myContext);

			i.setImageResource(this.myImageIds[position % myImageIds.length]);
			i.setScaleType(ImageView.ScaleType.FIT_XY);

			/* 设置这个ImageView对象的宽高,单位为dip */
			i.setLayoutParams(new Gallery.LayoutParams(120, 120));
			return i;
		}
	}
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值