Android中如何利用ImageSlider实现一个炫酷轮播广告效果
Android中如何利用ImageSlider实现一个炫酷轮播广告效果
这篇文章主要讲解了“Android中如何利用ImageSlider实现一个炫酷轮播广告效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android中如何利用ImageSlider实现一个炫酷轮播广告效果”吧!
1. Gradle 依赖配置
我们这里使用的是 android Studio 2.2.3 开发工具,Eclipse 引用第三方库的具体方法可以参考AndroidImageSlider 源码说明。在 build.gradle 文件中集成第三方库的依赖。
xmldependencies{compile'com.daimajia.slider:library:1.1.5@aar'compile'com.squareup.picasso:picasso:2.5.2'compile'com.nineoldandroids:library:2.4.0'compile'com.android.support:support-v4:25.2.0'}
2. 添加权限
使用该框架还需要添加相应的权限,分别为网络权限和读文件的权限。
xml<uses-permissionandroid:name="android.permission.INTERNET"></uses-permission><uses-permissionandroid:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
3. 添加到布局 Layout 中
将 SliderLayout 添加到相应的布局文件 Layout 中。
xml<com.daimajia.slider.library.SliderLayoutandroid:id="@+id/home_slider_ad"android:layout_width="match_parent"android:layout_height="@dimen/large_height"></com.daimajia.slider.library.SliderLayout>
如果需要自定义的 PagerIndicator 的话,可以自定义,当然也可以使用该框架自带的,这里是自定义 PagerIndicator 的源码。
xml<com.daimajia.slider.library.Indicators.PagerIndicatorandroid:id="@+id/home_indicator_ad"android:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="center"custom:selected_color="#0095BF"custom:unselected_color="#55333333"custom:selected_drawable="@drawable/bird"custom:shape="oval"custom:selected_padding_left="5dp"custom:selected_padding_right="5dp"custom:unselected_padding_left="5dp"custom:unselected_padding_right="5dp"android:layout_centerHorizontal="true"android:layout_alignParentBottom="true"custom:selected_width="6dp"custom:selected_height="6dp"custom:unselected_width="6dp"custom:unselected_height="6dp"android:layout_marginBottom="20dp"></com.daimajia.slider.library.Indicators.PagerIndicator>
4. 在 Activity/Fragment 中定义以及配置 SliderLayout
首先就是要获取到 SliderLayout 控件以及自定义的 Indicator。
xmlmSlider=(SliderLayout)view.findViewById(R.id.home_slider_ad);indicator=(PagerIndicator)view.findViewById(R.id.home_indicator_ad);
然后就是准备好测试的数据,我在这里定义了一个实体类 BannerInfo,包括了图片 imgUrl 和描述内容 name。定义好实体类后就开始设置相应的测试数据并且添加到滚动图片列表 listBanner 中。
xmlprivatevoidgetBannerData(){BannerInfobannerInfo_01=newBannerInfo();bannerInfo_01.setName("音箱狂欢");bannerInfo_01.setImgUrl("http://7mno4h.com2.z0.glb.qiniucdn.com/5608f3b5Nc8d90151.jpg");BannerInfobannerInfo_02=newBannerInfo();bannerInfo_02.setName("手机国庆礼");bannerInfo_02.setImgUrl("http://7mno4h.com2.z0.glb.qiniucdn.com/5608eb8cN9b9a0a39.jpg");BannerInfobannerInfo_03=newBannerInfo();bannerInfo_03.setName("IT生活");bannerInfo_03.setImgUrl("http://7mno4h.com2.z0.glb.qiniucdn.com/5608cae6Nbb1a39f9.jpg");listBanner.add(bannerInfo_01);listBanner.add(bannerInfo_02);listBanner.add(bannerInfo_03);}
接下来就是要配置 SliderLayout 的相关属性了,添加自定义的 Indicator,设置动画效果,添加图片列表数据以及设置监听事件
xmlprivatevoidinitSlider(){if(listBanner!=null){for(BannerInfobannerInfo:listBanner){TextSliderViewtextSliderView=newTextSliderView(this.getActivity());textSliderView.image(bannerInfo.getImgUrl()).description(bannerInfo.getName()).setScaleType(BaseSliderView.ScaleType.CenterCrop).setOnSliderClickListener(this);mSlider.addSlider(textSliderView);}}mSlider.setCustomIndicator(indicator);mSlider.setCustomAnimation(newDescriptionAnimation());mSlider.setPresetTransformer(SliderLayout.Transformer.RotateUp);mSlider.setDuration(3000);mSlider.addOnPageChangeListener(this);}
5. 在onStop() 中停止 SliderLayout 滚动
在 Activity/Fragment 生命周期结束前,需要先停止图片的滚动,防止出现内存溢出等问题。
xml@OverridepublicvoidonStop(){//Topreventamemoryleakonrotation,makesuretocallstopAutoCycle()onthesliderbeforeactivityorfragmentisdestroyedmSlider.stopAutoCycle();super.onStop();}
感谢各位的阅读,以上就是“Android中如何利用ImageSlider实现一个炫酷轮播广告效果”的内容了,经过本文的学习后,相信大家对Android中如何利用ImageSlider实现一个炫酷轮播广告效果这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是恰卡编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!
推荐阅读
-
我的世界windows版怎么下载手机版
-
android(如何快速开发框架 小米note开发版MIUI,安卓6.0,怎么安装Xposed框架)
稳定版,你必须先根除。你上网搜索安卓可以叫别人s框架,对方可以把框架做成jar包,把这个jar包加载到项目目录的libs文件中使...
-
android(studio 虚拟机启动不了 android studio可以当模拟器用吗)
androidstudio可以当模拟器用吗?AmdCUP引导模拟器有点复杂。雷电模拟器上的抖音怎么登录不上?不是,闪电模拟调用...
-
从实践中学习手机抓包与数据分析(android 手机抓包app)
android手机抓包app?netcapture抓包精灵app(手机抓包工具)又名sslcapture,是什么专业的安卓手机抓...
-
android(studio全局搜索 android studio怎么看app界面)
androidstudio怎么看app界面?在设备桌面点击运用直接进入到App界面,就也可以参与其他你的操作了。android-...
-
怎么把android框架源代码拉到本地(android studio如何运行别人的源代码)
androidstudio如何运行别人的源代码?androidstudio点击刚建在列表中你选择导入module,导入即可在用...
-
android(studio2022年使用教程 怎么安装Android studio详细教程)
怎么安装Androidstudio详细教程?androidstudio中haxm直接安装的方法追加:1、简单的方法打开Andr...
-
怎么使用Android基准配置文件Baseline Profile方案提升启动速度
怎么使用Android基准配置文件Baseline Profile方案提升启动速度...
-
HTML5如何实现禁止android视频另存为
HTML5如何实现禁止android视频另存为今天小编给大家分享一...
-
学java好还是学php好?