Android广告图片轮播控件,支持无限循环和多种主题,可以灵活设置轮播样式、动画、轮播和切换时间、位置、图片加载框架。

参考:https://github.com/youth5201314/banner

Step 1.依赖banner
在app的Gradle中

dependencies {  compile 'com.youth.banner:banner:1.4.8'  }

Step 2.在 AndroidManifest.xml中添加相应权限

<uses-permission android:name="android.permission.INTERNET"/>

Step 3.在布局文件中添加Banner,可以设置自定义属性

<com.youth.banner.Banner        android:id="@+id/banner"        android:layout_width="match_parent"        android:layout_height="200dp"        app:indicator_width="10dp"        app:indicator_height="10dp"        app:indicator_margin="5dp"        app:image_scale_type="center_inside"        app:indicator_drawable_selected="@mipmap/dot_sel"        app:indicator_drawable_unselected="@mipmap/dot">

Step 4.重写图片加载器(需要添加Glide jar包)

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

Step 5.在Activity中配置Banner
1.获取网络数据

private void initBanner() {        OkHttpClient mOkHttpClient = new OkHttpClient();        RequestBody formBody = new FormBody.Builder().build();        Request request = new Request.Builder()                .url(url)                .post(formBody)                .build();        Call call = mOkHttpClient.newCall(request);        call.enqueue(new Callback() {            @Override            public void onFailure(Call call, IOException e) {                Looper.prepare();                Toast.makeText(HomeActivity.this, "网络连接失败", Toast.LENGTH_SHORT).show();                Looper.loop();            }            @Override            public void onResponse(Call call, Response response) throws IOException {                final String str = response.body().string();                runOnUiThread(new Runnable() {                    @Override                    public void run() {                        Advertisement advertisement = new Gson().fromJson(str, Advertisement.class);                        int resultCode = advertisement.getResultCode();                        if (resultCode == 100) {                            adList = advertisement.getadvertisement1();                            for (int i = 0; i < adList.size(); i++) {                                String pic = adList.get(i).getPicture();                                imageUrl.add(ImageBasePath + pic);                            }                            startBanner();                        } else {                            Toast.makeText(HomeActivity.this, advertisement.getResultMessage(), Toast.LENGTH_SHORT).show();                        }                    }                });            }        });    }

2、设置banner属性

private void startBanner() {        //设置banner样式(显示圆形指示器)        banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR);        //设置指示器位置(指示器居右)        banner.setIndicatorGravity(BannerConfig.RIGHT);        //设置图片加载器        banner.setImageLoader(new GlideImageLoader());        //设置图片集合        banner.setImages(imageUrl);        //设置banner动画效果//        banner.setBannerAnimation(Transformer.DepthPage);        //设置标题集合(当banner样式有显示title时)//        banner.setBannerTitles(titles);        //设置自动轮播,默认为true//        banner.isAutoPlay(true);        //设置轮播时间        banner.setDelayTime(5000);        //banner设置方法全部调用完毕时最后调用        banner.start();    }

好啦,到这里就结束啦,还是挺好用的。

最后附上各个属性吧

Android图片轮播控件---com.youth.banner.Banner_第1张图片

动画常量类(setBannerAnimation方法调用)
Android图片轮播控件---com.youth.banner.Banner_第2张图片
Android图片轮播控件---com.youth.banner.Banner_第3张图片

方法

Android图片轮播控件---com.youth.banner.Banner_第4张图片
Android图片轮播控件---com.youth.banner.Banner_第5张图片
Android图片轮播控件---com.youth.banner.Banner_第6张图片

Attributes属性(banner布局文件中调用)

Android图片轮播控件---com.youth.banner.Banner_第7张图片

更多相关文章

  1. Android FloatingActionButton控件
  2. Android上传图片到服务器,android-async-http上传图片到服务器
  3. Android - 绘画出圆并保存为图片(详)
  4. Android 自动化测试—robotium(三)EditText控件
  5. Android中改变一个图片的透明度
  6. android 背景图片设置
  7. 关于android中的EditView,TextView的图片问题
  8. Android快速开发框架Android_BaseLib,集成了常用工具类,自定义View
  9. 阅读《Android 从入门到精通》(7)——图片按钮

随机推荐

  1. Android资源目录 /res/xml /res/raw 和 /
  2. 【Android(安卓)开发教程】Gallery和Imag
  3. Chrome for Android 也将具备 Opera Mobi
  4. android骚年的年终总结和规划
  5. 全面的Android文件目录解析和获取方法(包
  6. Android官方文档——管理activity的生命
  7. Android assets 目录作用
  8. 在32位的Ubuntu 11.04中为Android NDK r6
  9. Android 预编译模块
  10. android handler和thread的使用