一个好玩的轮播图

首先这是转载 官方地址: https://github.com/pinguo-zhouwei/MZBannerView

效果
在这里插入图片描述

下面是对一些能力较弱的程序猿们的步骤和坑
搭建环境:
1.根目录

allprojects {
    repositories {
        //轮播图
        maven { url 'https://jitpack.io' }
    }
}

2.使用model下,这里有一坑就是最低版本要在16以上

//轮播
    implementation 'com.github.pinguo-zhouwei:MZBannerView:v2.0.2'

3.控件

<com.zhouwei.mzbanner.MZBannerView
        android:id="@+id/homefragment_viewpager_pageadapter"
        android:layout_width="match_parent"
        android:layout_height="150dp"
        app:open_mz_mode="true"
        app:canLoop="true"
        app:middle_page_cover="false"
        app:indicatorPaddingLeft="20dp"
        app:indicatorPaddingRight="20dp"/>

在这里插入图片描述

代码:

控件

MZBannerView  mViewPager = mView.findViewById(R.id.homefragment_viewpager_pageadapter);

设置布局等,在给图片设置值的时候要注意宽要写成match要不出不来效果

	//为轮播图设置数据,需要注意不能为list列表
    public static class BannerViewHolder implements MZViewHolder<Bean_HomeFragment_PageBean.ResultBean>{


        private SimpleDraweeView mImage;

        @Override
        public View createView(Context context) {
            View view = View.inflate(context, R.layout.homefragment_pagement_pageimage, null);
            mImage = view.findViewById(R.id.pageadapter_simpledraweeview_image);
            return view;
        }

        @Override
        public void onBind(Context context, int i, Bean_HomeFragment_PageBean.ResultBean resultBean) {
            Uri parse = Uri.parse(resultBean.getImageUrl());
            mImage.setImageURI(parse);
        }
    }	

设置数据

//轮播
                    mViewPager.setPages(数据, new MZHolderCreator<BannerViewHolder>() {

                        @Override
                        public BannerViewHolder createViewHolder() {
                            return new BannerViewHolder();
                        }
                    });

写到这里已经完成了,细节需要看官方网址
方法介绍

/******************************************************************************************************/
    /**                             对外API                                                               **/
    /******************************************************************************************************/
    //开始轮播
     start()
    //停止轮播
     pause()

    //设置BannerView 的切换时间间隔
     setDelayedTime(int delayedTime)
    // 设置页面改变监听器
    addPageChangeLisnter(ViewPager.OnPageChangeListener onPageChangeListener)

    //添加Page点击事件
     setBannerPageClickListener(BannerPageClickListener bannerPageClickListener)
    //设置是否显示Indicator
    setIndicatorVisible(boolean visible)
    // 获取ViewPager
    ViewPager getViewPager()
    // 设置 Indicator资源
    setIndicatorRes(int unSelectRes,int selectRes)
    //设置页面数据
    setPages(List<T> datas,MZHolderCreator mzHolderCreator)
    //设置指示器显示位置
    setIndicatorAlign(IndicatorAlign indicatorAlign)
    //设置ViewPager(Banner)切换速度
    setDuration(int duration)

猜你喜欢

转载自blog.csdn.net/jiahui6666/article/details/84931594
今日推荐