1 布局文件定义ViewFlipper以及小圆点

         <RelativeLayoutandroid:id="@+id/rl_banner"android:layout_width="match_parent"android:layout_height="wrap_content"><ViewFlipperandroid:id="@+id/vf_banner"android:layout_width="match_parent"android:inAnimation="@anim/banner_push_left_in"android:outAnimation="@anim/banner_push_left_out"android:flipInterval="2000"android:layout_height="200dp"></ViewFlipper><LinearLayoutandroid:id="@+id/ll_banner_dot"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:layout_alignParentBottom="true"android:gravity="center"></LinearLayout></RelativeLayout>

2 activity中先定义几个变量

@BindView(R.id.ll_banner_dot)
LinearLayout ll_banner_dot;//小圆点的父布局@BindView(R.id.vf_banner)
ViewFlipper vf_banner;//viewflipper
private List<ImageView> dotlist;//圆点列表,将自定义的圆点imageview放到里边去
private int bannerCount;//轮播图数量
private int bannerIndex;//轮播图起始索引

3 根据服务器获取到的banner数据动态生成banner图的imageview和小圆点的imageview

for(BannerData bannerData:bannerlist){ImageView imageView = new ImageView(getContext());LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);imageView.setLayoutParams(params);imageView.setScaleType(ImageView.ScaleType.FIT_XY);vf_banner.addView(imageView);Glide.with(this).load(bannerData.getImagePath()).into(imageView);//动态生成小圆点ImageView iv_banner = new ImageView(this.getContext());LinearLayout.LayoutParams params1=new LinearLayout.LayoutParams(35,35);params1.gravity= Gravity.CENTER;params1.leftMargin=10;iv_banner.setLayoutParams(params1);iv_banner.setBackgroundResource(R.drawable.dian);ll_banner_dot.addView(iv_banner);dotlist.add(iv_banner);}

4 通过实现viewflipper的getInAnimation().setAnimationListener()监听来同步改变小圆点的背景

vf_banner.getInAnimation().setAnimationListener(new Animation.AnimationListener() {@Overridepublic void onAnimationStart(Animation animation) {if(bannerIndex>=dotlist.size()){bannerIndex=0;//重置索引}for(int index=0;index<bannerCount;index++){if(index!=bannerIndex){//凡是索引不等于当前bannerindex的,小圆点背景都设置为默认dotlist.get(index).setBackgroundResource(R.drawable.dian);}else {//否则,为当前的小圆点设置一个不同的背景
dotlist.get(bannerIndex).setBackgroundResource(R.drawable.dian2);}}bannerIndex++;
//                }

ViewFlipper实现带圆点的banner轮播图相关推荐

  1. JQuery仿最新淘宝网首页带箭头幻灯片,JQuery轮播图

    JQuery代码 <script type="text/javascript"> $(function() { var $banner = $('.banner'); ...

  2. AxureRP实战(三)Banner轮播图交互(进阶篇)

    前一篇<AxureRP实战(二)Banner轮播图交互(基础篇)>用淘宝的首页banner案例讲解了如何运用动态面板实现banner轮播图的切换,有了基本交互功能.但是,交互效果还有些欠缺 ...

  3. 微信小程序轮播图中间变大_微信小程序实现带放大效果的轮播图

    本文实例为大家分享了微信小程序实现带放大效果的轮播图,供大家参考,具体内容如下 效果如图 WXML WXSS .Carousel{ margin-top: 49px; background-color ...

  4. Mint-UI 移动首页开发 - header导航、banner轮播图

    Mint-UI 移动首页style排版问题:header导航.banner轮播图.footer底部版权··· ··· 资源预览: 中文 2.x官方文档(含演示地址): 文档首页 中文 2.x官方文档( ...

  5. html中制作banner,css banner轮播图怎么做?

    css banner轮播图怎么做?下面本篇文章给大家简单介绍一下.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 初步了解动画效果吧.轮播图我一直以为靠jquery插件完成的,突然发 ...

  6. 谷粒学院-首页数据显示-banner轮播图微服务搭建

    新建banner轮播图微服务 1.在service模块下创建子模块service_cms 2.配置application.properties # 服务端口 server.port=8004 # 服务 ...

  7. banner轮播图切换插件

    下载地址 banner轮播图切换插件,基于jquery实现的图片轮播效果. dd:

  8. H5页面中的视频轮播(类似于banner轮播图效果)

    先说下我的需求,如下图: 手机模型中间部分是视频播放,当一条视频播放完毕后,整屏会自动上滑切换到下一个视频. 详细效果展示请在PC端点击:http://www.17jianyue.cn/ 查看 提起轮 ...

  9. Android Studio Banner轮播图

    Banner轮播图 使用步骤 代码片段 使用步骤 1.导依赖 2.写布局 3.图片集合(图片网址,图片资源id),标题集合 4.常用方法 图片集合 banner.setImages(imgs); 加载 ...

最新文章

  1. vue下的bootstrap table + jquery treegrid, treegrid无法渲染的问题
  2. DATEIF实例说明3
  3. 如何进行有效的需求调研
  4. linux中系统调用和库函数的区别
  5. 分布式光伏补贴_光伏发电上网电价政策综述
  6. (代码篇)从基础文件IO说起虚拟内存,内存文件映射,零拷贝
  7. Qt qss 动态属性-不同条件不同显示
  8. 可视化编程软件有哪些好的推荐?
  9. matlab高通滤波器除噪声,基于MATLAB的FIR滤波器的设计及应用(信号去噪).doc
  10. 【杂记】01:王者荣耀,再见?
  11. 小白的markdown基础学习笔记
  12. (12)梅森素数与完全数
  13. python中bytes的用法_Python bytes类型及用法详解
  14. cmd/go: “package ... is not in GOROOT“问题解决办法
  15. 美国第一个设置计算机的学校,美国计算机专业院校
  16. Gitlab CI/CD教程以及实战docker自动部署前端项目(全)
  17. 如何区分形式主语和强调句
  18. android摄像头方向与屏方向,Android开发中关于摄像头方向的理解
  19. 信任、公平、梦想—新拍拍,新起点-拍拍网蒉莺春
  20. Discuz!教程之添加自定义广告位

热门文章

  1. Go:测试库(GoConvey,testify,GoStub,GoMonkey)对比及简介
  2. C++学习(四八三)无法从“std::pair<const _Kty,_Ty>”转换为“_Objty”
  3. python可以制作回合制游戏么_Python制作回合制手游外挂简单教程(上)
  4. 看人脸技术如何识别真假美猴王
  5. 配置 NFS 网络文件系统
  6. 教育知识与能力必背简答题!
  7. 《用户体验要素》-Jesse James Garrett
  8. ENDNOTE中使用Adobe打开PDF后提示“只读无法保存”
  9. iOS开发-声网Agora Demo
  10. 反应性磷脂PEG试剂DSPE-PEG-amine|CAS:474922-26-4|DSPE-PEG-NH2