图片轮播的最新的GitHub地址
https://github.com/youth5201314/banner
然而根据文章介绍,操作总是有错误,可能demo还没有更新,又用了之前的版本,相对来说更简单
https://github.com/youth5201314/banner/tree/release-1.4.10
现在把操作步骤简介记录一下,详细介绍参考GitHub
1.添加依赖
//glide图片加载
implementation 'com.github.bumptech.glide:glide:4.12.0'
//图片轮播框架
implementation 'com.youth.banner:banner:1.4.10'
2.添加权限
<uses-permission android:name="android.permission.INTERNET"/>
3.布局中加入banner
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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=".MainActivity">
<com.youth.banner.Banner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="300dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
4. 重写图片加载器
package com.example.glide;
import android.content.Context;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.youth.banner.loader.ImageLoader;
public class GlideImageLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
Glide.with(context).load(path).into(imageView);
}
}
5.在Activity或者Fragment中配置Banner
package com.example.glide;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import com.youth.banner.Banner;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bannerPicture();
}
private void bannerPicture() {
List imageList=new ArrayList<>();
imageList.add("https://image14.m1905.cn/uploadfile/2018/0907/thumb_1_1380_460_20180907013518839623.jpg");
imageList.add("https://image14.m1905.cn/uploadfile/2018/0906/thumb_1_1380_460_20180906040153529630.jpg");
imageList.add("https://image13.m1905.cn/uploadfile/2018/0907/thumb_1_1380_460_20180907114844929630.jpg");
Banner banner=findViewById(R.id.banner);
//设置图片加载器
banner.setImageLoader(new GlideImageLoader());
//设置图片集合
banner.setImages(imageList);
//设置banner动画效果
//banner.setBannerAnimation(Transformer.DepthPage);
//设置自动轮播,默认为true
//banner.isAutoPlay(true);
//设置轮播时间
//banner.setDelayTime(1500);
//设置指示器位置(当banner模式中有指示器时)
//banner.setIndicatorGravity(BannerConfig.CENTER);
//banner设置方法全部调用完毕时最后调用
banner.start();
}
}