1.导入依赖?
//build.gradle 的Project下导入
maven { url 'https://jitpack.io' }
//build.gradle 的app下导入
implementation 'com.github.zhpanvip:bannerviewpager:3.5.4'
?2.Activity的xml布局
<com.zhpan.bannerview.BannerViewPager
android:id="@+id/main_vp"
android:layout_margin="15dp"
android:layout_width="match_parent"
android:layout_height="200dp"/>
?3.编写适配器
//FoodBean是实体类
public class MyBannerViewPager extends BaseBannerAdapter<FoodBean.DataBean> {
@Override
protected void bindData(BaseViewHolder<FoodBean.DataBean> holder, FoodBean.DataBean
data, int position, int pageSize) {
//加载是图片
Glide.with(Utils.getApp()).load(data.getPic()).transform(new RoundedCorners(80))
.into((ImageView) holder.findViewById(R.id.banner_image));
}
//获取item布局
@Override
public int getLayoutId(int viewType) {
return R.layout.item;
}
}
?4.编写item布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/banner_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop" />
</RelativeLayout>
5.编写属性?
mainBanner.setPageStyle(PageStyle.MULTI_PAGE) /*设置画廊模式*/
.setRevealWidth(BannerUtils.dp2px(10)) /*设置宽度*/
.setPageMargin(BannerUtils.dp2px(10)) /*页面的外边距*/
.setIndicatorGravity(IndicatorGravity.CENTER) /*指示器的位置*/
.setAdapter(new MyBannerViewPager()) //设置适配器 必须
.setIndicatorStyle(IndicatorStyle.ROUND_RECT) /*设置指示器样式*/
.setIndicatorSliderGap(BannerUtils.dp2px(2)) /*指示器的间距*/
.create(foodBean.getData()); /*设置数据*/ /*必须*/
|