适配器:
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) {} }); } }