使用步骤
1.依赖banner
dependencies{
compile 'com.youth.banner:banner:1.4.10' //最新版本
compile 'com.github.bumptech.glide:glide:3.7.0' //glide依赖处理图片
/*okhttp 依赖还有gson*/
compile 'com.squareup.okio:okio:1.5.0'
compile 'com.squareup.okhttp3:okhttp:3.2.0'
compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'
compile 'com.google.code.gson:gson:2.8.2'
}
2.添加权限到你的 AndroidManifest.xml
各种权限这些权限就不介绍了加着没毛病网络上请求的
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
3.在布局文件中添加Banner,可以设置自定义属性
<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="高度自己设置" />
4.创建GlideImageLoader 图片加载类
public class GlideImaGlideImageLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
//Glide 加载图片的简单用法
Glide.with(context).load(path).into(imageView);
}
}
public class GlideImaGlideImageLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
//Glide 加载图片的简单用法
Glide.with(context).load(path).into(imageView);
}
}
5.得到控件
mbanner= (Banner) findViewById(R.id.mybanner);
GetDate(mpath);
6.使用okhttp请求接口 中的图片了
private void GetDate(String url){
OkHttp3Utils.getInstance().doGet(url, new GsonObjectCallback<HomeBean>() {
@Override
public void onUi(HomeBean homeBean) {
for(int i=0; i<homeBean.getData().getAd1().size();i++){
String ad1s = homeBean.getData().getAd1().get(i).getImage();
mlist.add(ad1s);
}
//设置图片加载器
mbanner.setImageLoader(new GlideImageLoader());
mbanner.setImages(mlist);
mbanner.start();
}
@Override
public void onFailed(Call call, IOException e) {
}
});
}
7.(可选)增加体验//如果你需要考虑更好的体验,可以这么操作
@Override
protected void onStart() {
super.onStart();
//开始轮播
banner.startAutoPlay();
}
@Override
protected void onStop() {
super.onStop();
//结束轮播
banner.stopAutoPlay();
}
//如果你需要考虑更好的体验,可以这么操作
@Override
protected void onStart() {
super.onStart();
//开始轮播
banner.startAutoPlay();
}
@Override
protected void onStop() {
super.onStop();
//结束轮播
banner.stopAutoPlay();
}
详细说明请点击
点击官方github