先放上没有对接口与网络请求的banner。
在gradle中添加依赖
dependencies {
implementation ‘com.youth.banner:banner:1.4.10’ //轮播图最新版本
}
AndroidManifest.xml中添加网络权限,这个一定不要忘记,否则只会出现指示器,加载不出图片,很小的问题。
<uses-permission android:name="android.permission.INTERNET"/>
放上xml文件。
<com.youth.banner.Banner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="190dp" />
Fragment中设置banner,包含有banner的样式:
private void bannerthis() {
banner = (Banner) getView().findViewById(R.id.banner);
//设置图片加载器
banner.setImageLoader(new GlideImageLoader());
//设置图片集合
banner.setImages(list_path);
//banner设置方法全部调用完毕时最后调用
banner.start();
//放标题的集合
// list_title = new ArrayList<>();
//放图片地址的集合
list_path = new ArrayList<>();
list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic21363tj30ci08ct96.jpg");
list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic259ohaj30ci08c74r.jpg");
list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic2b16zuj30ci08cwf4.jpg");
list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic2e7vsaj30ci08cglz.jpg");
//设置banner样式
banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR);
//设置图片加载器
banner.setImageLoader(new GlideImageLoader());
//设置图片集合
banner.setImages(list_path);
//设置banner动画效果
banner.setBannerAnimation(Transformer.DepthPage);
//设置标题集合(当banner样式有显示title时)
// banner.setBannerTitles(list_title);
//设置自动轮播,默认为true
banner.isAutoPlay(true);
//设置轮播时间
banner.setDelayTime(1500);
//设置指示器位置(当banner模式中有指示器时)小点点,左中右。
banner.setIndicatorGravity(BannerConfig.CENTER);
//banner设置方法全部调用完毕时最后调用
banner.start();
}
轮播图的图片加载 (用的glide,记得添加依赖):
public class GlideImageLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
//Glide 加载图片简单用法
Glide
.with(context)
.load(path)
.into(imageView);
}
}
来源用法推荐第三方框架
https://github.com/youth5201314/banner