ConvenientBanner广播栏的使用

  最近对广播栏进行了一次学习,因为要设计一个较为复杂的滚动广播。复杂在布局上并非单一的图片,而是有一个标题,然后又内容,然后是一个图片列表。
  采用的ConvenientBanner来实现。

如何实现:

编写一个内部类实现Holder。T是我们自己的Bean类。

 //为了方便改写,来实现复杂布局的切换
    private class LocalImageHolderView implements Holder {
        private View view;
        private ImageView img1,img2,img3,img4;
        private TextView tv_title,tv_content;
        @Override
        public View createView(Context context) {
            //你可以通过layout文件来创建,不一定是Image,任何控件都可以进行翻页
            view= LayoutInflater.from(context).inflate(R.layout.item_banner,null);
            return view;
        }

        @Override
        public void UpdateUI(Context context, int position, BannerBean data) {
            tv_title= (TextView) view.findViewById(R.id.item_banner_title);
            tv_title.setText(data.getTitle());
            tv_content= (TextView) view.findViewById(R.id.item_banner_content);
            tv_content.setText(data.getContent());
            img1= (ImageView) view.findViewById(R.id.item_banner_img1);
            img2= (ImageView) view.findViewById(R.id.item_banner_img2);
            img3= (ImageView) view.findViewById(R.id.item_banner_img3);
            img4= (ImageView) view.findViewById(R.id.item_banner_img4);
            imageLoaderUtil.loadingImage(data.getImg1(),img1);
            imageLoaderUtil.loadingImage(data.getImg2(),img2);
            imageLoaderUtil.loadingImage(data.getImg3(),img3);
            imageLoaderUtil.loadingImage(data.getImg4(),img4);
        }
    }

在这里我们可以对布局的内容进行设置。类似于Adapter。

 private void bannerInit(){
        //开始自动翻页
        convenientBanner.setPages(new CBViewHolderCreator() {
            @Override
            public Object createHolder() {
                return new LocalImageHolderView();
            }
        },localImages)
                //设置指示器是否可见
                .setPointViewVisible(true)
                //设置自动切换(同时设置了切换时间间隔)
                .startTurning(3000)
                //设置两个点图片作为翻页指示器,不设置则没有指示器,可以根据自己需求自行配合自己的指示器,不需要圆点指示器可用不设
                .setPageIndicator(new int[]{R.mipmap.normol, R.mipmap.select})
                //设置指示器的方向(左、中、右)
                .setPageIndicatorAlign(ConvenientBanner.PageIndicatorAlign.CENTER_HORIZONTAL)
                //设置点击监听事件
                .setOnItemClickListener(ConvenientBannerActivity.this);
                //设置手动影响(设置了该项无法手动切换)
//                .setManualPageable(true);
    }

  在这里我们实现了我们的内部类,相当于导入了我们的布局。第二个参数是我们的数据内容。然后采用了建造者模式,对Banner进行设置。设置好后调用即可开始轮播。

附件:

ConvenientBannerDemo下载地址

End

笔者的Github Blog,希望各位大大提意见,点个star,谢谢
传送门:WusyBlog

求互粉互赞,互赞所有文章可以私聊我。哈哈,希望我们的原创文章能让更多朋友看到,一起变强。

笔者新开通了微信公众号——饮水思源|wusy 计划持续运营,每日为您分享Android干货、原创文章。微信扫描下方的二维码关注我,开发学习路上不迷路。谢谢各位


ConvenientBanner广播栏的使用_第1张图片
饮水思源|wusy.jpg

你可能感兴趣的:(ConvenientBanner广播栏的使用)