UI开发之Android gallery实现图片的循环旋转.docx
第一步初始化gallery时设置较大的初始化位置
Java代码:
1.Gallery gallery=((Gallery)findViewById(R.id.my Gallery1));2.
3.gallery.setAdapter(newImageAdapter(this));4.
5.gallery.setSelection(200);复制代码
第二步:重写BaseAdapter 方法中的getCount 时返回一个较大
的值
Java代码:
1.//为了使资源循环使用2.
3.publicintgetCount()4.
5.{
6.
7.returnInteger.MAX_VALUE;8.
9.}
复制代码
第三步:重写BaseAdapter 时使用用position对集合大小取余
的值
Java代码:
1./*取得目前欲显示的图像View,传入数组ID值使之读取与成像*/2.
3.publicViewgetView(intposition,ViewconvertView,ViewGroupparent)4.
5.{
6.
7./*创建一个ImageView对象*/8.
9.ImageViewi=newImageView(this.myContext);10.
11.i.setPadding(10,10,10,10);
12.
13.i.setAlpha(80);14.
15.
16.//i.setImageResource(this.myImageIds[position]);17.
18.if(position0){19.
20.position=position+myImageIds.length;21.
22.}23.
24.i.setImageResource(this.myImageIds[position%myImageIds.length]);25.
26.i.setScaleType(ImageView.ScaleType.FIT_XY);27.
28.i.setBackgroundResource(m GalleryItemBackground);29.
30./*设置这个ImageView对象的宽高,单位为dip*/31.
32.i.setLayoutParams(new Gallery.LayoutParams(85,72));33.
34.returni;
35.
36.}复制代码
完整Java代码:
importandroid.app.Activity;
importandroid.content.Context;
importandroid.content.res.TypedArray;
importandroid.os.Bundle;
importandroid.view.View;
importandroid.view.ViewGroup;
importandroid.widget.AdapterView;
importandroid.widget.BaseAdapter;
importandroid.widget. Gallery;
importandroid.widget.ImageView;
importandroid.widget.TextView;
importandroid.widget.Toast;
importandroid.widget.AdapterView.OnItemSelectedListener;14.
15.publicclassEX03_15extendsActivity16.
17.{18.
19.privateTextViewmTextView01;20.
@Override
publicvoidonCreate(BundlesavedInstanceState)
23.{24.
25.super.onCreate(savedInstanceState);26.
27.setContentView(R.layout.main);
28.
29.Gallery gallery=((Gallery)findViewById(R.id.my Gallery1));30.
31.gallery.setAdapter(newImageAdapter(this));32.
33.gallery.setSelection(200);34.
35.gallery.