CODE:
public class AbActivity extends Activity {
/** Called when the activity is first created. */
private Gallery gallery;
private ImageSwitcher switcher;
//照片是我自己命名的,大家可以修改,放到drawable下面就好了
private Integer[] imageIds = {R.drawable.heart,
R.drawable.lp,R.drawable.rp,
R.drawable.lover,
};
private Integer[] mThumbIds = { R.drawable.heart,
R.drawable.lp,R.drawable.rp,
R.drawable.lover,
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
gallery=(Gallery)findViewById(R.id.gallery);
switcher=(ImageSwitcher)findViewById(R.id.switcher);
//ImageSwicher的ViewFactory的实现
switcher.setFactory(new ViewFactory(){
@Override
public View makeView() {
// TODO Auto-generated method stub
ImageView image=new ImageView(AbActivity.this);
image.setScaleType(ImageView.ScaleType.FIT_CENTER);
image.setBackgroundColor(0xFF000000);
image.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
return image;
}});
//设置动画效果
switcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in));
switcher.setOutAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));
//Gallery实现之前必须要实现Adapter,因为它是一个列表框
BaseAdapter adapter=new BaseAdapter(){
@Override
public int getCount() {
// TODO Auto-generated method stub
return imageIds.length;
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
// TODO Auto-generated method stub
ImageView image=new ImageView(AbActivity.this);
image.setImageResource(mThumbIds[arg0%imageIds.length]);
image.setScaleType(ImageView.ScaleType.FIT_CENTER);
image.setLayoutParams(new Gallery.LayoutParams(75,100 ));
TypedArray typeArray=obtainStyledAttributes(R.styleable.Gallery);
image.setBackgroundResource(typeArray.getResourceId(R.styleable.Gallery_android_galleryItemBackground, 0));
return image;
}};
gallery.setAdapter(adapter);
gallery.setOnItemClickListener(new OnItemClickListener(){
//单击事件显示图片
@Override
public void onItemClick(AdapterView> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
switcher.setImageResource(imageIds[arg2%imageIds.length]);
}});
}
}