-----------------添加小圆点-------------------
private List<ImageView> ivlist;
ivlist = new ArrayList<>();
for (int i = 0; i < imgs.length; i++) {
ImageView iv=new ImageView(getContext());
if(i==0){
iv.setImageResource(R.drawable.orange);
ivlist.add(iv);
}else{
iv.setImageResource(R.drawable.write);
ivlist.add(iv);
}
LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(20,20);
params.setMargins(5,5,5,5);
iv.setLayoutParams(params);
ll.addView(iv,params);
}
--------------------滑动监听小圆点跟随变化---------------------
private ViewPager vp;
vp = (ViewPager) findViewById(R.id.vp);
vp.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 < urls.length; i++) {
if(i==position){
ivlist.get(i).setImageResource(R.drawable.red);
}else{
ivlist.get(i).setImageResource(R.drawable.write);
}
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
----------------------自动轮播-----------------
public void lunbo(){
Timer timer=new Timer();
task = new TimerTask() {
@Override
public void run() {
selectitem++;
if(selectitem>=urls.length){
selectitem=0;
}
Message msg=new Message();
msg.obj=selectitem;
handler.sendMessage(msg);
}
};
timer.schedule(task,0,1000);
}
---------------------解决滑动和自动轮播冲突---------------------
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
int action = ev.getAction();
if(action==MotionEvent.ACTION_DOWN||action==MotionEvent.ACTION_MOVE){
task.cancel();
}else{
lunbo();
}
return super.dispatchTouchEvent(ev);
}