一个好用的三方轮播Banner

轮播Banner在开发中是必备的一个功能。如果自己实现的话想对来说比较耗费时间和成本。
那么这时候就需要一个简单好用的三方轮子了。
好。不多说。直接上代码。
1、首先,老规矩,导入依赖。

implementation 'com.youth.banner:banner:1.1.5'  //指定版本

2、然后就是在layout.xml中的应用:

<com.youth.banner.Banner   
 xmlns:app="http://schemas.android.com/apk/res-auto"  
  android:id="@+id/banner"    
  android:layout_width="match_parent" 
  android:layout_height="300dp" />

3、下面是在Activity中的具体使用:

//设置样式,默认为:Banner.NOT_INDICATOR(不显示指示器和标题)
            //可选样式如下:
                //1. Banner.CIRCLE_INDICATOR    显示圆形指示器
                //2. Banner.NUM_INDICATOR   显示数字指示器
                //3. Banner.NUM_INDICATOR_TITLE 显示数字指示器和标题
                //4. Banner.CIRCLE_INDICATOR_TITLE  显示圆形指示器和标题
        banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR);
        //设置图片加载器
        banner.setImageLoader(new GlideImageLoader());
        //设置图片集合
        banner.setImages(images);
        //设置banner动画效果
        banner.setBannerAnimation(Transformer.DepthPage);
        //设置标题集合(当banner样式有显示title时)
        // banner.setBannerTitles(titles);
        //设置是否自动轮播(不设置则默认自动)
        banner.isAutoPlay(true);
        //设置轮播图片间隔时间(不设置默认为2000)
        banner.setDelayTime(5000);
        banner.setDelayTime(1500);
        //设置轮播样式(没有标题默认为右边,有标题时默认左边)
        //可选样式:
        //Banner.LEFT   指示器居左
        //Banner.CENTER 指示器居中
        //Banner.RIGHT  指示器居右
        banner.setIndicatorGravity(BannerConfig.CENTER);
        //banner点击事件
        banner.setOnBannerListener(new OnBannerListener() {
            @Override
            public void OnBannerClick(int position) {
                Toast.makeText(getApplicationContext(), "你点击了:" + position, Toast.LENGTH_LONG).show();
            }
        });
        //banner设置方法全部调用完毕时最后调用
        banner.start();

banner.setImageLoader(new GlideImageLoader()); 此处的GlideImageLoader()还需新建一个类继承 ImageLoader,如下:

GlideImageLoader :

public class GlideImageLoader extends ImageLoader {
    @Override
    public void displayImage(Context context, Object path, ImageView imageView) {

        Glide.with(context).load(path).into(imageView);
    }
}

注意:
从Android 6.0开始引入了对Https的支持,但是Android P的系统上面所有Http的请求都被默认阻止了
会报出IOException java.io.IOException: Cleartext HTTP traffic to * not permitted这样的错,
最简单的方法是需要我们在清单文件中添加权限:

<application
       ********
        android:usesCleartextTraffic="true"
        **********
>

最后,别忘了添加网络权限:

<uses-permission android:name="android.permission.INTERNET"/>

END

你可能感兴趣的:(Android)