如今基本上大多数的Android应用程序的首页都有轮播图。就是像下图这种(此图为转载的一篇博文中的图。拿来直接用了):

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);//更改图片切换的动画效果

然后在应用程序中的效果例如以下:

Android自己定义控件之应用程序首页轮播图

Android自己定义控件之应用程序首页轮播图

好了。该自己定义控件的使用就是这种。相信大家也应该明确了,假设有不正确的地方欢迎指出。或者有不明确能够回复留言。至此代码已经讲完了。本次更新主要是附上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

相关文章:

  • 2021-04-11
  • 2022-02-01
  • 2021-08-02
  • 2021-11-27
  • 2021-11-17
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-27
  • 2021-11-27
  • 2021-06-21
  • 2022-12-23
  • 2021-08-16
  • 2021-12-21
相关资源
相似解决方案