时间:2021-05-21
现在一些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代码(片段):
引用的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无限循环滚动回绕》
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前面写过了使用ViewFlipper和ViewPager实现屏幕中视图切换的效果(ViewPager未实现轮播)附链接:ANDROID中使用VIEWFLIPPE
本文实例为大家分享了Android实现ViewPager无限循环效果的第二种方式,供大家参考,具体内容如下原理:在Adapter中将getCount设置为无限大
对Android利用ViewPager实现图片可以左右循环滑动效果,感兴趣的朋友可以直接点击查看内容详情。主要介绍如何实现ViewPager自动播放,循环滚动的
本文实例为大家分享了IOS图片轮播效果的实现过程,供大家参考,具体内容如下平时APP中的广告位或者滚动的新闻图片等用到的就是图片轮播这种效果,实现方式主要有两种
1.概述在实际开发中,我们经常遇到需要在ListView或RecycleView头部添加ViewPager实现Banner轮播效果,并需要添加下拉刷新,上拉加载