Android ViewPager实现无限循环轮播广告位Banner效果

 更新时间:2017年07月12日 14:04:45   作者:zhangphil  
这篇文章主要为大家详细介绍了Android ViewPager实现无限循环轮播广告位Banner效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

现在一些app通常会在头部放一个广告位,底部放置一行小圆圈指示器,指示广告位当前的页码,轮播展示一些图片,这些图片来自于网络。这个广告位banner是典型的android ViewPager实现,但是如果自己实现这样的ViewPager,要解决一系列琐碎的问题,比如:

(1)这个广告位ViewPager要支持无限循环轮播,例如,有3张图片,A,B,C,当用户滑到最后C时候再滑就要滑到A,反之亦然。
(2)ViewPager要实现自动播放,比如每个若干秒如2秒,自动切换播放到下一张图片。
(3)通常这样的ViewPager下面会放一排指示器小圆圈,用以形象指示当前页码。

这样的Android广告位复用程度很高,通用长度也很高。Github上有一个开源项目:https://github.com/youth5201314/banner
实现了上述的全部功能,并提供多种样式选择。使用也简单,比如写一个简单的例子,xml代码(片段):

<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="140dp"
      app:image_scale_type="center_crop"
      app:default_image="@drawable/home"
      app:indicator_drawable_selected="@drawable/selected_radius"
      app:indicator_drawable_unselected="@drawable/unselected_radius"
      app:indicator_height="8dp"
      app:indicator_width="8dp"
      app:indicator_margin="6dp"/>

引用的selected_radius.xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
 android:shape="oval">
 <solid android:color="@color/color_e91e63" />
</shape>

unselected_radius.xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
 android:shape="oval">
 <solid android:color="#80ffffff" />
</shape>

颜色值#80ffffff是白色半透明。

上层Java代码:

 Banner banner= (Banner) view.findViewById(R.id.banner);
  String url1="http://xxx.xxx.xxx.jpg";
  String url2="http://xxx.xxx.xxx.jpg";
  String url3="http://xxx.xxx.xxx.jpg";
  String[] images= new String[] {url1,url2,url3};

  banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR);
  banner.setImages(images);
  banner.setDelayTime(2000);

代码运行结果:

附: 《Android实现ViewPager无限循环滚动回绕》

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

相关文章

  • Android 简单的照相机程序的实例代码

    Android 简单的照相机程序的实例代码

    终于经过多次找错,修改把一个简单的照相机程序完成了,照相类代码如下:
    2013-05-05
  • Flutter下载更新App的方法示例

    Flutter下载更新App的方法示例

    这篇文章主要介绍了Flutter下载更新App的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • 使用Flutter定位包获取地理位置

    使用Flutter定位包获取地理位置

    本文详细讲解了使用Flutter定位包获取地理位置的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-11-11
  • OpenGL中的glutInitDisplayMode()函数的理解

    OpenGL中的glutInitDisplayMode()函数的理解

    今天小编就为大家分享一篇关于OpenGL中的glutInitDisplayMode()函数的理解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • 一起动手编写Android图片加载框架

    一起动手编写Android图片加载框架

    这篇文章主要和大家一起动手编写Android图片加载框架,从内部原理到具体实现来详细介绍如何开发一个简洁而实用的Android图片加载缓存框架,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • Android编程学习之抽象类AbsListView用法实例分析

    Android编程学习之抽象类AbsListView用法实例分析

    这篇文章主要介绍了Android编程学习之抽象类AbsListView用法,较为详细的分析了抽象类AbsListView的功能、结构、定义及使用注意事项等,需要的朋友可以参考下
    2015-10-10
  • Android签名知识小结

    Android签名知识小结

    不止一次有用到Android签名相关的知识,每次都几乎从零开始在Google上搜索找,不想在继续这样了,找了个时间好好整理了一下自己用到的一些碎片知识,于是乎放到这里,一是备忘,二是帮助别人
    2016-03-03
  • Android实现图片缓存与异步加载

    Android实现图片缓存与异步加载

    这篇文章主要为大家详细介绍了Android实现图片缓存与异步加载的相关资料,需要的朋友可以参考下
    2016-02-02
  • Json 生成与解析详解及实例代码

    Json 生成与解析详解及实例代码

    这篇文章主要介绍了Json 生成与解析详解及实例代码的相关资料,这里附简单实例帮助大家学习理解,需要的朋友可以参考下
    2016-11-11
  • Android Activity生命周期调用的理解

    Android Activity生命周期调用的理解

    大家好。本篇文章主要讲的是Android Activity生命周期调用的理解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12

最新评论