Android特别简单的banner实现自动轮播加底部小圆点
程序员文章站
2023-12-23 21:36:57
1:加入依赖 implementation 'com.github.bumptech.glide:glide:3.7.0' implementation 'com.youth.banner:banner:1.4.10'2:布局文件`
1:加入依赖
implementation 'com.github.bumptech.glide:glide:3.7.0'
implementation 'com.youth.banner:banner:1.4.10'
2:布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical"
tools:context=".MainActivity">
<com.youth.banner.Banner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="200dp"/>
</LinearLayout>
3:maincativity代码
public class MainActivity extends AppCompatActivity {
private Banner mBanner;
private ArrayList<String> images = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mBanner = findViewById(R.id.banner);
images.add("https://m.zhaokaobao.com.cn/uploads/202007/fd4222c22333217927dfc9c68146f0f0.jpg");
images.add("https://m.zhaokaobao.com.cn/uploads/202007/ce07d7461bf4c33e795c46f2e51b76fc.jpg");
//设置内置样式,共有六种可以点入方法内逐一体验使用。
mBanner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR);
//设置图片加载器,图片加载器在下方
mBanner.setImageLoader(new GlideImageLoader());
//设置图片网址或地址的集合
mBanner.setImages(images);
//设置轮播的动画效果,内含多种特效,可点入方法内查找后内逐一体验
mBanner.setBannerAnimation(Transformer.Default);
//设置轮播间隔时间
mBanner.setDelayTime(3000);
//设置是否为自动轮播,默认是“是”。
mBanner.isAutoPlay(true);
//设置指示器的位置,小点点,左中右。
mBanner.setIndicatorGravity(BannerConfig.CENTER)
//以上内容都可写成链式布局,这是轮播图的监听。比较重要。方法在下面。
.setOnBannerListener(new OnBannerListener() {
@Override
public void OnBannerClick(int position) {
}
})
//必须最后调用的方法,启动轮播图。
.start();
}
}
4:图片适配器
public class GlideImageLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, final ImageView imageView) {
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
Glide.with(context).load(path)
.into(imageView);
}
}
本文地址:https://blog.csdn.net/weixin_43117800/article/details/107517755