ConvenientBanner的使用

一、com.bigkoo:convenientbanner使用
1、导入依赖

//轮播图
implementation 'com.bigkoo:convenientbanner:2.0.5'

2、初始化布局

 <com.bigkoo.convenientbanner.ConvenientBanner
	android:id="@+id/convenientbanner"
	android:layout_width="match_parent"
	android:layout_height="match_parent"
	android:layout_weight="3"
	android:orientation="vertical"
	app:canLoop="true"
	tools:ignore="MissingConstraints" />

3、初始化控件

 private void initVctb() {
     
        if (localImages.size() == 0) {
     
            localImages.add(new HomePhotoEntity.ListopAdlbBean());
        }

        cbanner.setPages(
                new CBViewHolderCreator<NetworkImageHolderView >() {
     
                    @Override
                    public NetworkImageHolderView createHolder() {
     
                        return new NetworkImageHolderView ();
                    }
                }, localImages);
//        设置两个点图片作为翻页指示器,不设置则没有指示器,可以根据自己需求自行配合自己的指示器,不需要圆点指示器可用不设
        cbanner.setPageIndicator(new int[]{
     R.mipmap.point_unfocused, R.mipmap.point_focused});
        //设置翻页的效果,不需要翻页效果可用不设
        cbanner.setManualPageable(true);//设置不能手动影响
        cbanner.setCanLoop(true);
        cbanner.setScrollDuration(600);
        cbanner.startTurning(4000);

        int height = ScreenUtils.getScreenWidth(MainActivity2.this);
        ConstraintLayout.LayoutParams params = new ConstraintLayout.LayoutParams(
                ViewGroup.LayoutParams.MATCH_PARENT, (int) (height * 0.38));
       // params.setMargins(8, 8, 8, 8);
        cbanner.setLayoutParams(params);
    }

4、自定义holder类
A 加载网络图片

/**
     * 设置广告轮播图片 加载网络图片
     */
    public class NetworkImageHolderView implements Holder<HomePhotoEntity.ListopAdlbBean> {
     
        private ImageView imageView;

        @Override
        public View createView(Context context) {
     
            imageView = new ImageView(context);
            imageView.setScaleType(ImageView.ScaleType.FIT_XY);// CENTER_CROP
            return imageView;
        }

        @Override
        public void UpdateUI(Context context, final int position, HomePhotoEntity.ListopAdlbBean data) {
     
            Glide.with(MainActivity2.this).load(TextUtils.isEmpty(data.getCover()) ? "aa" : Constants.baseUrl + data.getCover())
                    .placeholder(R.mipmap.home_news_banner).error(R.mipmap.home_news_banner).into(imageView);
        }
    }

B 加载本地图片

List<Integer> localImages = new ArrayList<>();
localImages.add(R.mipmap.jiankang_banner1);
localImages.add(R.mipmap.jiankang_banner2);


public class LocalImageHolderView implements Holder<Integer> {
     
        private ImageView imageView;

        @Override
        public View createView(Context context) {
     
            imageView = new ImageView(context);
            imageView.setScaleType(ImageView.ScaleType.FIT_XY);// CENTER_CROP
            return imageView;
        }

        @Override
        public void UpdateUI(Context context, final int position, Integer data) {
     
            imageView.setImageResource(data);
        }
    }

二、3D画廊效果的Banner
资料链接:3D画廊效果

implementation 'com.github.lzjin:ViewPagerGallery:1.2'

你可能感兴趣的:(UI控件及样式)