菜鸟Android学习之路25——幻灯片式图片浏览器

代码:

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;
 }

}

效果如下:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值