ViewPager无限轮播

来源:互联网 发布:洪都660所知乎 编辑:程序博客网 时间:2024/06/05 13:23

privateLinearLayout lly;

private List<ImageView> images;
private Timer timer;

private Handler handler=new Handler(){    @Override    public void handleMessage(Message msg) {        super.handleMessage(msg);        int what = msg.what;        int currentItem = vp.getCurrentItem();        currentItem++;        vp.setCurrentItem(currentItem);    }};
lly = view.findViewById(R.id.lly_D);
vp = view.findViewById(R.id.vp_tou);
vp.setAdapter(new MyPagerAdapter(this,ll));
vp.setOnPageChangeListener(this);

initllyData();
initTimer();
private void initllyData() {    images=new ArrayList<>();    for (int i = 0; i <ll.size(); i++) {        ImageView iv=new ImageView(getActivity());        if(i==0){            iv.setImageResource(R.drawable.select_);        }else {            iv.setImageResource(R.drawable.normal_);        }        LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(20,20);        params.leftMargin=10;        params.rightMargin=10;        lly.addView(iv,params);        images.add(iv);    }}

private void initTimer() {    timer = new Timer();    TimerTask task=new TimerTask() {        @Override        public void run() {            handler.sendEmptyMessage(1);        }    };    timer.schedule(task,2000,2000);}

@Overridepublic void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {}
@Overridepublic void onPageSelected(int position) {    for (int i = 0; i <images.size() ; i++) {        if(i==position%images.size()){            images.get(i).setImageResource(R.drawable.select_);        }else {            images.get(i).setImageResource(R.drawable.normal_);        }    }}
@Overridepublic void onPageScrollStateChanged(int state) {}


原创粉丝点击