创作不易,点个赞再走吧,谢谢!
目录
1、我们首先在xml文件中引入布局,设置我们喜欢的样式,大小,下面我给出示例:
前言
本期介绍Android的一项比较好用的轮播图,这是github上一个比较优秀的开源库,今天带大家来学习一下,这个开源库的基本用法。
先上演示视频:
QQ视频20230618211556
一、如何引入
首先我们先将这个轮播图的依赖导入进我们的项目:
implementation 'com.youth.banner:banner:1.4.10'
二、使用步骤
1、我们首先在xml文件中引入布局,设置我们喜欢的样式,大小,下面我给出示例:
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
custom:cardCornerRadius="10dp"
>
<com.youth.banner.Banner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="250dp"
custom:indicator_height="5dp"
custom:indicator_margin="5dp"
custom:indicator_width="5dp"
custom:title_height="20dp"
custom:title_textcolor="@color/white"
custom:title_textsize="16sp"/>
</com.google.android.material.card.MaterialCardView>
做个简要的说明:我这边是使用 MaterialCardView作为banner的外布局,因为卡片设置圆角比较方便,我就采用了这种布局。
2、然后我们需要在actvity或者fragment中设置banner的图片资源,样式等。
private void initPlayer() {
//初始化图片数据
List images = new ArrayList();
images.add(R.drawable.b1);
images.add(R.drawable.b2);
images.add(R.drawable.b3);
//初始化标题数据
List titles = new ArrayList();
titles.add("线下");
titles.add("线上");
titles.add("签到");
//设置图片加载器
banner.setImageLoader(new MyImageLoader());
//设置图片集合
banner.setImages(images);
//设置标题集合(当banner样式有显示title时)
banner.setBannerTitles(titles);
//设置轮播的动画效果 ZoomOutSlide
banner.setBannerAnimation(Transformer.DepthPage);
//设置自动轮播,默认为true
banner.isAutoPlay(true);
//设置轮播时间(设置2.5秒切换下一张图片)
banner.setDelayTime(2000);
//设置banner显示样式(带标题的样式)
banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE);
//设置指示器位置(当banner模式中有指示器时)
banner.setIndicatorGravity(BannerConfig.RIGHT);
//增加监听事件
banner.setOnBannerListener(new OnBannerListener() {
@Override
public void OnBannerClick(int position) {
}
});
//banner设置方法全部调用完毕时最后调用
banner.start();
}
大家可以清楚的看到 ,代码中每一步的注释, 写的是比较详细的,都是一些基本的用法,希望大家可以学到一些东西。
总结
本次分享的是一个关于Android轮播图的一种实现方法,希望大家可以有所收获。