美文网首页程序员
ConvenientBanner广播栏的使用

ConvenientBanner广播栏的使用

作者: 饮水思源为名 | 来源:发表于2018-07-31 16:59 被阅读63次

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

如何实现:

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

 //为了方便改写,来实现复杂布局的切换
    private class LocalImageHolderView implements Holder<BannerBean> {
        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下载地址

相关文章

网友评论

    本文标题:ConvenientBanner广播栏的使用

    本文链接:https://www.haomeiwen.com/subject/cyvhvftx.html