android实现banner轮播图无限轮播效果

本文实例为大家分享了banner轮播图无限轮播效果的具体代码,供大家参考,具体内容如下

效果展示

这里写图片描述

第一步(权限配置)

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />

第二步(添加依赖)

compile 'com.squareup.okio:okio:1.5.0'
compile 'com.squareup.okhttp3:okhttp:3.2.0'
compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'
compile 'com.google.code.gson:gson:2.8.2'
compile 'com.youth.banner:banner:1.4.9'
//compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
compile 'com.github.bumptech.glide:glide:3.7.0'

第三步(加布局)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical" android:layout_width="match_parent"
  android:layout_height="150dp">
  <com.youth.banner.Banner
    android:id="@+id/mybanner"
    android:layout_width="match_parent"
    android:layout_height="150dp"></com.youth.banner.Banner>
</LinearLayout>

第四步:(创建GlideImageLoader 图片加载类)

public class GlideImageLoader extends ImageLoader {
  @Override
  public void displayImage(Context context, Object path, ImageView imageView) {
    Glide.with(context).load(path).into(imageView);
  }
}

第五步:(在onCreate中加)

mbanner= (Banner) findViewById(R.id.mybanner);
GetDate(mpath);

private void GetDate(String url){
  OkHttp3Utils.getInstance().doGet(url, new GsonObjectCallback<HomeBean>() {
    @Override
    public void onUi(HomeBean homeBean) {

      for(int i=0; i<homeBean.getData().getAd1().size();i++){
        String ad1s = homeBean.getData().getAd1().get(i).getImage();
        mlist.add(ad1s);
      }
      //设置图片加载器
      mbanner.setImageLoader(new GlideImageLoader());
      mbanner.setImages(mlist);
      mbanner.start();
    }
    @Override
    public void onFailed(Call call, IOException e) {

    }
  });
}

最后提醒:网络数据接口您自己供应。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: