适配器:
public class MyAdapter extends PagerAdapter {
private Context context;
private List<Integer> list;
public MyAdapter(Context context, List<Integer> list) {
super();
this.context = context;
this.list = list;
}
//总数
@Override
public int getCount() {
return Integer.MAX_VALUE;//最大值
}
//得到的视图与添加进来的是否一致 如果一致 返回true
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0==arg1;
}
//创建视图
@Override
public Object instantiateItem(ViewGroup container, int position) {
//创建ImageView
ImageView imageView = new ImageView(context);
//设置图片 src 按照比例进行展示图片 Background 全部充满展示
imageView.setImageResource(list.get(position%list.size()));//通过取模的形式 在list集合中取出图片
//getResources res文件
// imageView.setBackground(context.getResources().getDrawable(list.get(position)));
//拉伸
imageView.setScaleType(ScaleType.FIT_XY);
container.addView(imageView);
return imageView;
}
//删除视图
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
}
MainActivity:
public class MainActivity extends Activity {
private ViewPager view_pager;
private RadioGroup radio_group;
private List<Integer> list;
private Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
msg.what++;
view_pager.setCurrentItem(msg.what);
handler.sendEmptyMessageDelayed(msg.what, 1500);
super.handleMessage(msg);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
view_pager = (ViewPager) findViewById(R.id.view_pager);
radio_group = (RadioGroup) findViewById(R.id.radio_group);
list = new ArrayList<Integer>();
list.add(R.drawable.g1);
list.add(R.drawable.g2);
list.add(R.drawable.g3);
list.add(R.drawable.g4);
list.add(R.drawable.g5);
MyAdapter adapter = new MyAdapter(MainActivity.this,list);
view_pager.setAdapter(adapter);
//将当前默认展示的图片 设置在中间
view_pager.setCurrentItem(list.size()*10000);
//得到图片的位置
//延迟1秒 执行runnable
handler.sendEmptyMessageDelayed(view_pager.getCurrentItem(), 1500);
//页选中监听
view_pager.setOnPageChangeListener(new OnPageChangeListener() {
//选择的页
@Override
public void onPageSelected(int arg0) {
//当选中第?页时,选择对应的Button
switch (arg0%list.size()) {
case 0:
radio_group.check(R.id.radio1);
break;
case 1:
radio_group.check(R.id.radio2);
break;
case 2:
radio_group.check(R.id.radio3);
break;
case 3:
radio_group.check(R.id.radio4);
break;
case 4:
radio_group.check(R.id.radio5);
break;
default:
break;
}
}
//页的偏移量
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {}
//页的状态
@Override
public void onPageScrollStateChanged(int arg0) {}
});
}
}