快速使用Bigkoo/Android-ConvenientBanner

github地址:

https://github.com/Bigkoo/Android-ConvenientBanner

下面我只做了图片的轮播、从网络获取图片。
功能很强大,自己挖掘吧。
依赖:

dependencies {
    implementation 'com.bigkoo:ConvenientBanner:2.1.4'
}

布局//canLoop是否循环

    <com.bigkoo.convenientbanner.ConvenientBanner
        android:id="@+id/convenientBanner"
        android:layout_width="match_parent"
        android:layout_height="160dp"
        app:canLoop="true" />

逻辑处理

 mConvenientBanner =headView.findViewById(R.id.convenientBanner);
 mConvenientBanner.setPages(
                new CBViewHolderCreator() {
                    @Override
                    public NetWorkImageHolderView createHolder(View itemView) {
                        return new NetWorkImageHolderView(getContext(), itemView);
                    }
                    @Override
                    public int getLayoutId() {
                        return R.layout.item_head_image;
                    }
                }, getImages())
                .setPageIndicatorAlign(ConvenientBanner.PageIndicatorAlign.ALIGN_PARENT_RIGHT)//指示器位置
.setPageIndicator(new int[]{R.drawable.indicator_normal, R.drawable.indicator_select});//两个指示器
//设置点击事件
mConvenientBanner.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(int position) {
                ToastUtils.showShort("目标" + position);
            }
        });
//开始轮播 2000时间间隔
mConvenientBanner.startTurning(2000);

指示器圆点

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <solid android:color="@color/tab_select_color" />
    <corners android:radius="5dip" />
    <size
        android:width="6dp"
        android:height="6dp" />
</shape>

网络获取图片 NetWorkImageHolderView

public class NetWorkImageHolderView extends Holder<String> {
        private ImageView headBannerImage;
        private Context mContext;
        private NetWorkImageHolderView(Context context, View itemView) {
            super(itemView);
            mContext = context;
        }
        @Override
        protected void initView(View itemView) {
            headBannerImage =itemView.findViewById(R.id.head_banner_img);
        }
        @Override
        public void updateUI(String data) {
            GlideUtils.loadImage(mContext, data, headBannerImage);
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,940评论 25 709
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,548评论 2 59
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,065评论 3 119
  • 乡村一直是我心底最柔软的地方,那自由的空气,自由的风,自由的云,我那最可爱的父老乡亲,总是温暖着我。如果我...
    雨儿_ffdf阅读 2,523评论 0 2
  • 在终端命令窗口,找到文件/Users/xxx/Library/Preferences/AndroidStudio3...
    woniu0936阅读 4,969评论 0 0

友情链接更多精彩内容