代码:
public class MainActivity extends Activity {
private int[] imageId=new int[]{R.drawable.img01,R.drawable.img02,R.drawable.img03,
R.drawable.img04,R.drawable.img05,R.drawable.img06,
R.drawable.img07,R.drawable.img08
};
private ImageSwitcher imageSwicher;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Gallery gallery=(Gallery)findViewById(R.id.gallery1);
imageSwicher = (ImageSwitcher)findViewById(R.id.imageSwitcher1);
imageSwicher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in));
imageSwicher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));
imageSwicher.setFactory(new ViewFactory() {
@Override
public View makeView() {
ImageView imageview=new ImageView(MainActivity.this);
imageview.setScaleType(ImageView.ScaleType.FIT_CENTER);
imageview.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
return imageview;
}
});
BaseAdapter adapter= new BaseAdapter() {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView image;
if(convertView==null){
image =new ImageView(MainActivity.this);
image.setScaleType(ImageView.ScaleType.FIT_XY);
image.setLayoutParams(new Gallery.LayoutParams(180,135));
TypedArray typedArray=obtainStyledAttributes(R.styleable.Gallery);
image.setBackgroundResource(typedArray.getResourceId(R.styleable.Gallery_android_galleryItemBackground, 0));
image.setPadding(5, 0, 5, 0);// TODO Auto-generated method stub
}else{
image=(ImageView)convertView;
}
image.setImageResource(imageId[position]);
return image;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return imageId.length;
}
};
gallery.setAdapter(adapter);
gallery.setSelection(imageId.length/2);
gallery.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
imageSwicher.setImageResource(imageId[arg2]);// TODO Auto-generated method stub
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
效果如下: