前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ConvenientBanner广播栏的使用

ConvenientBanner广播栏的使用

作者头像
饮水思源为名
发布2018-09-06 12:54:42
7600
发布2018-09-06 12:54:42
举报
文章被收录于专栏:Android小菜鸡Android小菜鸡

  最近对广播栏进行了一次学习,因为要设计一个较为复杂的滚动广播。复杂在布局上并非单一的图片,而是有一个标题,然后又内容,然后是一个图片列表。   采用的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下载地址

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.07.31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何实现:
  • 附件:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档