galleryAdapter.java
package com.example.administrator.gallery;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;
/**
* Created by Administrator on 2015/7/23.
*/
public class galleryAdapter extends BaseAdapter{
private int[] resId;
private Context mContext;
public galleryAdapter(int[] resId,Context mContext) {
this.resId = resId;
this.mContext = mContext;
}
@Override
public int getCount() {
// return resId.length;
return Integer.MAX_VALUE; //让gallery循环,所以设置为最大数
}
@Override
public Object getItem(int position) {
return resId[position];
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView img = new ImageView(mContext);
// img.setBackgroundResource(resId[position]);
img.setBackgroundResource(resId[position % resId.length]); //循环
//设置缩放
// img.setLayoutParams(new Gallery.LayoutParams(300,400));
// img.setScaleType(ImageView.ScaleType.FIT_XY);
return img;
}
}
MainActivity.java
package com.example.administrator.gallery;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.AdapterView;
import android.widget.Gallery;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.ViewSwitcher;
public class MainActivity extends ActionBarActivity implements ViewSwitcher.ViewFactory{
private Gallery gallery;
private ImageSwitcher switcher;
private int[] resId = new int[]{R.drawable.item1,R.drawable.item2,R.drawable.item3,R.drawable.item4,R.drawable.item5,R.drawable.item6,R.drawable.item7,R.drawable.item8,R.drawable.item9,R.drawable.item10,R.drawable.item11,R.drawable.item12};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gallery = (Gallery)findViewById(R.id.gallery);
switcher = (ImageSwitcher)findViewById(R.id.switcher);
galleryAdapter adapter = new galleryAdapter(resId,this);
gallery.setAdapter(adapter);
gallery.setOnItemSelectedListener(new Gallery.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
// img.setBackgroundResource(resId[position % resId.length]); //循环
switcher.setBackgroundResource(resId[position % resId.length]);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
//ImageSwitcher加载工厂
switcher.setFactory(this);
//动画效果
switcher.setInAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_in));
switcher.setOutAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_out));
}
@Override
public View makeView() {
ImageView img = new ImageView(this);
img.setScaleType(ImageView.ScaleType.FIT_CENTER);
return img;
}
}