Banner轮播图

Banner轮播图

    • Banner介绍
    • Banner使用

Banner介绍

banner是一个优秀的、开源的能够实现轮播图效果的第三方框架。许多优秀的App都在使用banner来丰富自己App的外观。
关于banner它有官方的文档,可以用来参考

https://github.com/youth5201314/banner/tree/release-1.4.10

Banner使用

1、需要先导入依赖

implementation 'com.youth.banner:banner:1.4.10'

2、需要添加权限,即资源是来自本地还是来自网络

//网络权限
<uses-permission android:name="android.permission.INTERNET" /> 
//读取权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

3、在布局中添加一个banner

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".Main5Activity">

    <com.youth.banner.Banner
        android:id="@+id/banner_id"
        android:layout_width="match_parent"
        android:layout_height="match_parent"></com.youth.banner.Banner>

</LinearLayout>

4、添加图片加载器

public class MyImgLoad extends ImageLoader {
    @Override
    public void displayImage(Context context, Object path, ImageView imageView) {
    	//这里除了Glide,还可以用Picasso或者其它框架
        Glide.with(context).load(path).into(imageView);
    }
}

图片依赖:

    implementation 'com.github.bumptech.glide:glide:4.9.0'
    implementation 'com.squareup.picasso:picasso:2.5.0'

5、在Activity或Fragment中使用banner

public class Main5Activity extends AppCompatActivity {
    private Banner bannerId;
    private List<Integer> image = new ArrayList<>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main5);
        bannerId = (Banner) findViewById(R.id.banner_id);
        //设置图片加载器
        bannerId.setImageLoader(new MyImgLoad());
        //设置图片集合
        image.add(R.mipmap.ic_launcher);
        image.add(R.mipmap.ic_launcher);
        image.add(R.mipmap.ic_launcher);
        image.add(R.mipmap.ic_launcher);
        bannerId.setImages(image);
        //设置banner动画效果
        bannerId.setBannerAnimation(Transformer.CubeOut);
     	//banner设置方法全部调用完毕时最后调用
        bannerId.start();
    }
}

偷懒写法:

banner.setImages(images).setImageLoader(new GlideImageLoader()).start();

你可能感兴趣的:(Banner轮播图)