轮播广告图Banner

github地址:https://github.com/youth5201314/banner

1.添加依赖

//图片轮播框架
implementation 'com.youth.banner:banner:1.4.10'

2.添加网络权限

<!-- if you want to load images from the internet -->
<uses-permission android:name="android.permission.INTERNET" />

3.布局中加入banner

 <com.youth.banner.Banner
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/banner"
        android:layout_width="match_parent"
        android:layout_height="200dp" />

4.新建一个图片加载类

import android.content.Context;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.youth.banner.loader.ImageLoader;


public class GlideImageLoader extends ImageLoader {
    @Override
    public void displayImage(Context context, Object path, ImageView imageView) {
        //Glide 加载图片简单用法
        Glide.with(context).load(path).into(imageView);
    }
}

5.在活动中使用

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import com.youth.banner.Banner;
import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        List images = new ArrayList();
        images.add("http://image14.m1905.cn/uploadfile/2018/0907/thumb_1_1380_460_20180907013518839623.jpg");
        images.add("http://image14.m1905.cn/uploadfile/2018/0906/thumb_1_1380_460_20180906040153529630.jpg");
        images.add("http://image13.m1905.cn/uploadfile/2018/0907/thumb_1_1380_460_20180907114844929630.jpg");


    Banner banner = (Banner) findViewById(R.id.banner); //设置banner样式
    banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE);   //设置图片加载器
    banner.setImageLoader(new GlideImageLoader());  //设置图片集合
    banner.setImages(images);    //设置banner动画效果
    banner.setBannerAnimation(Transformer.DepthPage);  //设置标题集合(当banner样式有显示title时)
    banner.setBannerTitles(titles);    //设置自动轮播,默认为true
    banner.isAutoPlay(true);  //设置轮播时间
    banner.setDelayTime(1500);    //设置指示器位置(当banner模式中有指示器时)
    banner.setIndicatorGravity(BannerConfig.CENTER);   //banner设置方法全部调用完毕时最后调用
    banner.start();       //增加点击事件
        banner.setOnBannerListener(new OnBannerListener() {
            @Override
            public void OnBannerClick(int position) {
                Toast.makeText(MainActivity.this, "position"+position, Toast.LENGTH_SHORT).show();
            }
        });
    }
}
6@V)B}C~G1~N{UEM9OO)1HF.png
T(51%@)C%0{9VWN4A4Y){LB.png
8U}XAEDUGMROA{H1653CM}M.png

![0PKZBHMRNQIF]ZB$29_)G{Y.png](https://upload-images.jianshu.io/upload_images/17730180-071f29e2cfe5d809.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

DM[]WAWT~LL55OFJTK{YR$5.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • # 一、框架概述 # 课程概述 1. laravel 4天(之前TP框架还是很大的区别)(国外框架) 2. 在线教...
    关进一阅读 413评论 0 0
  • 本章节主要介绍jenkins的使用 在前一章节中已经介绍可jenkins安装步骤,不了解的可以参考前文:[jenk...
    haishuiaa阅读 3,274评论 0 3
  • # 为什么要学习composer? 由于我们要学习的laravel框架底层是syfomy框架。syfomy框架底层...
    Yu_b29b阅读 690评论 0 0
  • {"curTime":"2018,7,30","nextTime":"2018,8,06","preUrl":""...
    书籍数据记录阅读 243评论 0 0
  • 【综合】【账号】13831953942-13930914646-13930914564【账号】【串号验证】8699...
    5a15944f1ba2阅读 507评论 0 1