XBanner的正确使用姿势

1、添加相关依赖(XBanner和图片加载工具glide)

 //xBanner 轮播图
    //noinspection GradleDependency
    //注意这里是AndroidX  因为是使用的AS是新版的(2021)
    implementation 'com.github.xiaohaibin:XBanner:androidx_v1.2.6'

    // 图片加载框架
    implementation 'com.github.bumptech.glide:glide:4.12.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'

2、activity代码

<com.stx.xhb.androidx.XBanner
                android:id="@+id/xbanner"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                app:AutoPlayTime="3000"
                app:isShowIndicatorOnlyOne="true"
                app:isShowNumberIndicator="true"
                app:pageChangeDuration="800"
                app:pointNormal="@drawable/shape_noraml"
                app:pointSelect="@drawable/shape_selected"
                app:pointsContainerBackground="#44FFFFFF"
                app:pointsPosition="RIGHT"
                app:tipTextSize="12sp" />`

3、java代码


    // 初始化 轮播图
    private void initBanner() {
    
    
        //获取控件
        mXBanner = (XBanner) findViewById(R.id.xbanner);
        List<BaseBannerInfo> imgesUrl = new ArrayList<>();


        imgesUrl.add(new BaseBannerInfo() {
    
    
            @Override
            public Object getXBannerUrl() {
    
    
                return "http://imageprocess.yitos.net/images/public/20160910/1291473163104906.jpg";
            }

            @Override
            public String getXBannerTitle() {
    
    
                return "11";
            }
        });
        imgesUrl.add(new BaseBannerInfo() {
    
    
            @Override
            public Object getXBannerUrl() {
    
    
                return "http://imageprocess.yitos.net/images/public/20160910/1291473163104906.jpg";
            }

            @Override
            public String getXBannerTitle() {
    
    
                return "11";
            }
        });
        // 为XBanner绑定数据
        mXBanner.setBannerData(imgesUrl);
//        // XBanner适配数据
        mXBanner.loadImage(new XBanner.XBannerAdapter() {
    
    
            @Override
            public void loadBanner(XBanner banner, Object model, View view, int position) {
    
    
                Glide.with(MainActivity.this).load(imgesUrl.get(position).getXBannerUrl()).into((ImageView) view);
            }
        });
        // 设置XBanner的页面切换特效,选择一个即可,总的大概就这么多效果啦,欢迎使用
        mXBanner.setPageTransformer(Transformer.Default);//横向移动


        mXBanner.setOnItemClickListener(new XBanner.OnItemClickListener() {
    
    
            @Override
            public void onItemClick(XBanner banner, Object model, View view, int position) {
    
    
                Toast.makeText(MainActivity.this, "点击了第" + position + "图片", Toast.LENGTH_SHORT).show();
            }
        });
    }

    /**
     * 为了更好的体验效果建议在下面两个生命周期中调用下面的方法
     **/
    @Override
    protected void onResume() {
    
    
        super.onResume();
        mXBanner.startAutoPlay();
    }

    @Override
    protected void onStop() {
    
    
        super.onStop();
        mXBanner.stopAutoPlay();
    }

4、效果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Z_PTOPONE/article/details/127339106