如今基本上大多数的Android应用程序的首页都有轮播图。就是像下图这种(此图为转载的一篇博文中的图。拿来直接用了):
像这种组件我相信大多数的应用程序都会使用到,本文就是自己定义一个这种组件,能够动态设置图片的张数。
以下就開始本次的自己定义之旅吧。首先看一下自己定义控件的的布局文件:
布局文件看完之后,我们再来看一下自己定义控件相相应的java类吧:
详细代码例如以下:
说过自己定义控件的布局和对应类之后。我们就要来使用它了,那么我们怎么去使用这个呢,请看以下的内容。在你的project中假设想要使用该自己定义控件,你须要把自己定义控件的布局文件复制到你的layout目录下,然后将上面的类复制到你的project里去,在你自己的布局文件里这样引用该控件。代码。例如以下:<com.gc.flashview.FlashView android: android:layout_width="match_parent" android:layout_height="300dp" android:layout_margin="10dp" app:effect="cube" />然后在对应的Activity或Fragment中这样动态设置图片:
(1)先通过findviewbyid获得该控件】(2)调用该控件的setImageUris的方法
详细代码例如以下所看到的:
flashView=(FlashView)findViewById(R.id.flash_view); imageUrls=new ArrayList<String>(); imageUrls.add("http://www.qipaox.com/tupian/200810/20081051924582.jpg"); imageUrls.add("http://www.bz55.com/uploads1/allimg/120312/1_120312100435_8.jpg"); imageUrls.add("http://img3.iqilu.com/data/attachment/forum/201308/21/192654ai88zf6zaa60zddo.jpg"); imageUrls.add("http://img2.pconline.com.cn/pconline/0706/19/1038447_34.jpg"); // imageUrls.add("http://www.kole8.com/desktop/desk_file-11/2/2/2012/11/2012113013552959.jpg"); // imageUrls.add("http://www.237.cc/uploads/pcline/712_0_1680x1050.jpg"); // imageUrls.add("http://pic3.bbzhi.com/fengjingbizhi/gaoqingkuanpingfengguangsheyingps/show_fengjingta_281299_11.jpg"); flashView.setImageUris(imageUrls); flashView.setEffect(EffectConstants.CUBE_EFFECT);//更改图片切换的动画效果然后在应用程序中的效果例如以下:
好了。该自己定义控件的使用就是这种。相信大家也应该明确了,假设有不正确的地方欢迎指出。或者有不明确能够回复留言。至此代码已经讲完了。本次更新主要是附上Demo下载地址。声明:因为本demo是側重于该自己定义控件的使用,故在Demo中去除了UIL的使用。
还有不知道怎么搞的。上传的动态效果图老是自己主动打上水印了,仅仅能是静态效果图了,这个应该是博客系统的原因吧,昨天的博文也是这样。
Demo下载地址:http://download.csdn.net/detail/gc_gongchao/8081433
下载需下载积分1分,勿喷我。呵呵!
转载请注明出处:http://blog.csdn.net/android_jiangjun/article/details/39638129
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2014/12/28更新,更新下面部分:
(1)改动轮播时,轮播到最后一张,回退到首张。如今已经解决此部分bug
(2)利用反射改动自己主动轮播时动画的持续时间。
(3)将此功能打包成一个library,地址:https://github.com/gcgongchao/flashview 。至于使用方法,已经在readme阐述清楚,故不在此处多加叙述。
2015/01/15 22:20更新:
程序的修复:
(1)改动当图片为0张时。程序会报错并强制退出。(2)改动当图片为1张时。图片还会轮播的不好效果。
下次更新:
(1)对外提供点击事件的接口
(2)增加能够在XML文件里设置其动画效果的功能。程序的地址还是在上面的github地址,假设你有github账号,假设本文对你有帮助的话,请star一下。谢谢。
你们的支持。将是我持续的动力。
2015/01/18 20:14
本次更新:
(1)对外提供点击事件的接口
下次更新:
(1)添加图片切换的动画效果
因为csdn的博客限制图片大小不超过2M,所以最新的动态图,还是到这里去看吧:https://github.com/gcgongchao/flashview。
2015/01/28 22:09
本次更新:
(1)添加了图片切换的动画效果,这些动画效果的代码来源于网络。感谢贡献此动画效果的作者。
下次更新:
(1)增加自己写的动画效果。
更新之后的最新项目还是在本人的github上。地址上面都已给出,假设在使用过程中有bug或者有不论什么意见,请及时告知。2015/01/29 22:00
本次更新:改动对外监听的bug,即轮播控件的监听的bug。
2015/04/08 20:37
改着改着网友反馈的bug,就过了8点了,就没抢上小米了。。。。
。
。
本次更新:改动当图片为2张时,ViewPager会出现空白页的bug。
下载地址就是上面所说的github上的地址。假设在使用过程中,出现bug,请及时反馈,以便于我更好的完好它,谢谢!Android Studio版Demo下载地址:http://download.csdn.net/detail/gc_gongchao/9366745