多个图片接口请求

private ViewPager banner;
private List<String> uris;
private Handler handler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
        super.handleMessage(msg);
        int currentItem = banner.getCurrentItem();
        currentItem++;
        banner.setCurrentItem(currentItem);
        handler.sendEmptyMessageDelayed(0,2000);
    }
};

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_pl);
    //初始化控件
    banner = findViewById(R.id.banner);
    //创建轮播
    createBunner();
    //自动轮播
    starBanner();
    //点击时暂停自动轮播
    banner.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            switch (event.getAction()){
                case MotionEvent.ACTION_DOWN://点下
                    stopBanner();
                    break;
                case  MotionEvent.ACTION_UP://抬起
                    starBanner();
                    break;
            }
            return false;
        }
    });

}

private void starBanner() {
    handler.sendEmptyMessageDelayed(0,2000);
}
private void stopBanner() {
    handler.removeCallbacksAndMessages(null);
}
/**
  * 创建轮播
  */
private void createBunner() {
    //创建集合,图像域集合
    uris = new ArrayList<>();//获取路径的集合,添加路径
    uris.add("http://img.zcool.cn/community/01a39159664ee9a8012193a33f10ca.jpg");
    uris.add("http://img02.tooopen.com/images/20150503/tooopen_sy_121395177313.jpg");
    uris.add("http://img.zcool.cn/community/01b97f5955bd37a8012193a34ea9d9.jpg@1280w_1l_2o_100sh.jpg");
    //设置适配器,将路径传到适配器,在适配器中用imageloader加载图片
    MyBunnerAdapter ad = new MyBunnerAdapter(PlActivity.this, uris);
    banner.setAdapter(ad);
}

适配器中 MyBunnerAdapter

public class MyBunnerAdapter extends PagerAdapter {
    private Context context;//上下文
    private List<String> list;//地址集合


    public MyBunnerAdapter(Context context, List<String> list) {
        this.context = context;
        this.list = list;
    }

    @Override
    public int getCount() {
        return Integer.MAX_VALUE;
    }

    @Override
    public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
        return view == object;
    }

    @NonNull
    @Override
    public Object instantiateItem(@NonNull ViewGroup container, int position) {
        ImageView imageView = new ImageView(context);//创建图像域
        imageView.setScaleType(ImageView.ScaleType.FIT_XY);//设置图像域适应屏幕
        ImageLoader.getInstance().displayImage(list.get(position % list.size()), imageView);//添加图片到图像域
        container.addView(imageView);//将图片添加到父控件
        return imageView;//返回
    }

    @Override
    public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
        container.removeView((View) object);
    }

猜你喜欢

转载自blog.csdn.net/Lsnzf3134/article/details/82019892
今日推荐