图片轮播的最新的GitHub地址
/youth514/banner
然而根据文章介绍,操作总是有错误,可能demo还没有更新,又用了之前的版本,相对来说更简单
/youth514/banner/tree/release-1.4.10
现在把操作步骤简介记录一下,详细介绍参考GitHub
1.添加依赖
//glide图片加载implementation 'com.github.bumptech.glide:glide:4.12.0'//图片轮播框架implementation 'com.youth.banner:banner:1.4.10'
2.添加权限
<uses-permission android:name="android.permission.INTERNET"/>
3.布局中加入banner
<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayoutxmlns:android="/apk/res/android"xmlns:app="/apk/res-auto"xmlns:tools="/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><com.youth.banner.Bannerandroid:id="@+id/banner"android:layout_width="match_parent"android:layout_height="300dp"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout>
4. 重写图片加载器
package com.example.glide;import android.content.Context;import android.widget.ImageView;import com.bumptech.glide.Glide;import com.youth.banner.loader.ImageLoader;public class GlideImageLoader extends ImageLoader {@Overridepublic void displayImage(Context context, Object path, ImageView imageView) {Glide.with(context).load(path).into(imageView);}}
5.在Activity或者Fragment中配置Banner
package com.example.glide;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import com.youth.banner.Banner;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);bannerPicture();}private void bannerPicture() {List imageList=new ArrayList<>();imageList.add("/uploadfile//0907/thumb_1_1380_460_0907013518839623.jpg");imageList.add("/uploadfile//0906/thumb_1_1380_460_0906040153529630.jpg");imageList.add("/uploadfile//0907/thumb_1_1380_460_0907114844929630.jpg");Banner banner=findViewById(R.id.banner);//设置图片加载器banner.setImageLoader(new GlideImageLoader());//设置图片集合banner.setImages(imageList);//设置banner动画效果//banner.setBannerAnimation(Transformer.DepthPage);//设置自动轮播,默认为true//banner.isAutoPlay(true);//设置轮播时间//banner.setDelayTime(1500);//设置指示器位置(当banner模式中有指示器时)//banner.setIndicatorGravity(BannerConfig.CENTER);//banner设置方法全部调用完毕时最后调用banner.start();}}