写一个线程:
Handler handler =new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); int currentItem = pager.getCurrentItem(); pager.setCurrentItem(currentItem+1); handler.sendEmptyMessageDelayed(0,2000); } };加点操作:
public void jiadian() { ll = (LinearLayout) findViewById(R.id.ll);//得到LinearLayout布局 image.clear();清空图片集合 ll.removeAllViews();//清空LinearLayout布局 for (int i=0;i<list.size();i++)//添加 { imageView = new ImageView(MainActivity.this);//创建一个图片布局 if(i==0) { imageView.setImageResource(R.drawable.dot_focuable); }else { imageView.setImageResource(R.drawable.dot_normal); } LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(20, 20);//圆点大小 if(i==0) { layoutParams.setMargins(250,0,20,0);//间距 }else { layoutParams.setMargins(20,0,20,0); } image.add(imageView);//圆点添加到图片集合中 ll.addView(imageView,layoutParams);//圆点添加到LinearLayout中 } }监听:
pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { for (int i=0;i<list.size();i++) { if(i==position%list.size()) { image.get(i).setImageResource(R.drawable.dot_focuable);//修改图片颜色 }else { image.get(i).setImageResource(R.drawable.dot_normal); } } } @Override public void onPageScrollStateChanged(int state) { } });class Mypager extends PagerAdapter{ @Override public Object instantiateItem(ViewGroup container, int position) { ImageView imageView = new ImageView(MainActivity.this); imageView.setScaleType(ImageView.ScaleType.FIT_XY); ImageLoader.getInstance().displayImage(list.get(position%list.size()),imageView); container.addView(imageView); //图片点击监听imageView.setOnTouchListener(new NewTouchListener());
return imageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } @Override public int getCount() { return Integer.MAX_VALUE; } @Override public boolean isViewFromObject(View view, Object object) { return view==object; }}
当点击图片时候让图片停止private class NewTouchListener implements View.OnTouchListener { @Override public boolean onTouch(View arg0, MotionEvent arg1) { // TODO Auto-generated method stub switch (arg1.getAction()) { case MotionEvent.ACTION_DOWN: handler.removeCallbacksAndMessages(null); break; case MotionEvent.ACTION_CANCEL: handler.sendEmptyMessageDelayed(0, 2000); break; case MotionEvent.ACTION_UP: handler.sendEmptyMessageDelayed(0, 2000); break; default: break; } return true; } }