這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)Android中怎么利用ImageSlider實(shí)現(xiàn)一個(gè)炫酷輪播廣告效果,文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創(chuàng)新互聯(lián)建站專(zhuān)業(yè)網(wǎng)站建設(shè),網(wǎng)站制作與網(wǎng)站建設(shè)公司,1800元做網(wǎng)站建設(shè)全包,免費(fèi)贈(zèng)送網(wǎng)站基礎(chǔ)優(yōu)化服務(wù),讓你的網(wǎng)站變得更有價(jià)值,公司擁有完善的專(zhuān)業(yè)的建站公司流程,能夠?yàn)槠髽I(yè)提供建站服務(wù)。使用PHP+MYSQL開(kāi)發(fā)可交付網(wǎng)站源代碼;符合網(wǎng)站優(yōu)化排名的后臺(tái)管理系統(tǒng);網(wǎng)站制作收費(fèi)合理;免費(fèi)進(jìn)行網(wǎng)站備案等企業(yè)網(wǎng)站建設(shè)一條龍服務(wù).
1. Gradle 依賴(lài)配置
我們這里使用的是 android Studio 2.2.3 開(kāi)發(fā)工具,Eclipse 引用第三方庫(kù)的具體方法可以參考AndroidImageSlider 源碼說(shuō)明。在 build.gradle 文件中集成第三方庫(kù)的依賴(lài)。
xml dependencies { 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. 添加權(quán)限
使用該框架還需要添加相應(yīng)的權(quán)限,分別為網(wǎng)絡(luò)權(quán)限和讀文件的權(quán)限。
xml
3. 添加到布局 Layout 中
將 SliderLayout 添加到相應(yīng)的布局文件 Layout 中。
xml
如果需要自定義的 PagerIndicator 的話(huà),可以自定義,當(dāng)然也可以使用該框架自帶的,這里是自定義 PagerIndicator 的源碼。
xml
4. 在 Activity/Fragment 中定義以及配置 SliderLayout
首先就是要獲取到 SliderLayout 控件以及自定義的 Indicator。
xml mSlider = (SliderLayout) view.findViewById(R.id.home_slider_ad); indicator =(PagerIndicator)view.findViewById(R.id.home_indicator_ad);
然后就是準(zhǔn)備好測(cè)試的數(shù)據(jù),我在這里定義了一個(gè)實(shí)體類(lèi) BannerInfo,包括了圖片 imgUrl 和描述內(nèi)容 name。定義好實(shí)體類(lèi)后就開(kāi)始設(shè)置相應(yīng)的測(cè)試數(shù)據(jù)并且添加到滾動(dòng)圖片列表 listBanner 中。
xml private void getBannerData() { BannerInfo bannerInfo_01 = new BannerInfo(); bannerInfo_01.setName("音箱狂歡"); bannerInfo_01.setImgUrl("http://7mno4h.com2.z0.glb.qiniucdn.com/5608f3b5Nc8d90151.jpg"); BannerInfo bannerInfo_02 = new BannerInfo(); bannerInfo_02.setName("手機(jī)國(guó)慶禮"); bannerInfo_02.setImgUrl("http://7mno4h.com2.z0.glb.qiniucdn.com/5608eb8cN9b9a0a39.jpg"); BannerInfo bannerInfo_03 = new BannerInfo(); 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); }
接下來(lái)就是要配置 SliderLayout 的相關(guān)屬性了,添加自定義的 Indicator,設(shè)置動(dòng)畫(huà)效果,添加圖片列表數(shù)據(jù)以及設(shè)置監(jiān)聽(tīng)事件
xml private void initSlider() { if (listBanner != null) { for (BannerInfo bannerInfo : listBanner) { TextSliderView textSliderView = new TextSliderView(this.getActivity()); textSliderView.image(bannerInfo.getImgUrl()) .description(bannerInfo.getName()) .setScaleType(BaseSliderView.ScaleType.CenterCrop) .setOnSliderClickListener(this); mSlider.addSlider(textSliderView); } } mSlider.setCustomIndicator(indicator); mSlider.setCustomAnimation(new DescriptionAnimation()); mSlider.setPresetTransformer(SliderLayout.Transformer.RotateUp); mSlider.setDuration(3000); mSlider.addOnPageChangeListener(this); }
5. 在onStop() 中停止 SliderLayout 滾動(dòng)
在 Activity/Fragment 生命周期結(jié)束前,需要先停止圖片的滾動(dòng),防止出現(xiàn)內(nèi)存溢出等問(wèn)題。
xml @Override public void onStop() { // To prevent a memory leak on rotation, make sure to call stopAutoCycle() on the slider before activity or fragment is destroyed mSlider.stopAutoCycle(); super.onStop(); }
上述就是小編為大家分享的Android中怎么利用ImageSlider實(shí)現(xiàn)一個(gè)炫酷輪播廣告效果了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。