Banner依赖:implementation ‘com.youth.banner:banner:1.4.10’
OkGo依赖:implementation ‘com.lzy.net:okgo:3.0.4’
Glide依赖:implementation ‘com.github.bumptech.glide:glide:4.6.1’
public class MainActivity extends AppCompatActivity{
Banner banner;
List<String> list = new ArrayList<>();
List<String> list_title = new ArrayList<>();
int a = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
load();
banner = findViewById(R.id.banner);
//banner有两种类型
//1.只显示图片和数量
//banner.setBannerStyle(BannerConfig.NUM_INDICATOR);
//既显示图片数量 也显示文字
banner.setBannerStyle(BannerConfig.NUM_INDICATOR_TITLE);
//设置图片
banner.setImageLoader(new ImageLoaderInterface() {
@Override
public void displayImage(Context context, Object path, View imageView) {
Glide.with(context).load(path).into((ImageView) imageView);
}
@Override
public View createImageView(Context context) {
return new ImageView(context);
}
});
//轮播间隔时间
banner.setDelayTime(1000);
}
private void load() {
new Thread(new Runnable() {
@Override
public void run() {
OkGo.<String>get("http://vueshop.glbuys.com/api/home/index/slide?token=1ec949a15fb709370f")
.execute(new StringCallback() {
@Override
public void onSuccess(Response<String> response) {
String body = response.body();
Gson gson = new Gson();
JsonBean jsonBean = gson.fromJson(body, JsonBean.class);
List<JsonBean.DataBean> data = jsonBean.getData();
for(int i=0;i<data.size();i++){
list_title.add(data.get(i).getTitle());
list.add("http:"+data.get(i).getImage());
}
//将设置图片集合写在这里 等字符串一下好 就添加进去
banner.setImages(list);
banner.setBannerTitles(list_title);
//开始轮播
banner.start();
}
});
}
}).start();
}