1.依赖: implementation ‘com.youth.banner:banner:1.4.10
2. 布局:
<com.youth.banner.Banner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="200dp">
</com.youth.banner.Banner>
3.方法:
//设置banner样式(默认为小圆点)
banner.setBannerStyle(BannerConfig.NUM_INDICATOR_TITLE);//数字加标题
//设置图片加载器
banner.setImageLoader(new GlideImageLoader());
//设置图片集合
banner.setImages(images);
//设置标题集合(当banner样式有显示title时)
banner.setBannerTitles(titles);
//设置自动轮播,默认为true
banner.isAutoPlay(true);
//设置轮播时间
banner.setDelayTime(1500);
//banner设置方法全部调用完毕时最后调用
banner.start();
4.代码:(网络请求看不懂的小伙伴去前面的文章中查阅)记得写Bean类 List<FindJson.DataBean>
public class MainActivity extends AppCompatActivity {
private Banner banner;
//数据的集合
private List<String>list=new ArrayList<>();
//标题的集合
private List<String>list_title=new ArrayList<>();
//路径
private String path="http://vueshop.glbuys.com/api/home/index/slide?token=1ec949a15fb709370f";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化控件
banner=findViewById(R.id.main_banner);
//网络请求
OkGo.<String>get(path).execute(new StringCallback() {
@Override
public void onSuccess(Response<String> response) {
//请求的数据
String body = response.body();
//请求时的响应码
int code = new Gson().fromJson(body, FindJson.class).getCode();
if(code!=400){
//添加到集合中
List<FindJson.DataBean> data = new Gson().fromJson(body, FindJson.class).getData();
//添加数据
for (int i=0;i<data.size();i++){
//获取数据中的图片
String image = data.get(i).getImage();
//获取数据中的标题
String title= data.get(i).getTitle();
list.add("http:"+image);
list_title.add(title);
}
//设置数据集合
banner.setImages(list);
banner.setBannerTitles(list_title);
//风格 (标题加数字)
banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE);
//图片加载器
banner.setImageLoader(new ImageLoader() {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
Glide.with(MainActivity.this).load(path).into(imageView);
}
});
//轮播时间
banner.setDelayTime(2000);
//开始
banner.start();
}
}
});
}
}