欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

AndroidImageSlider實現炫酷輪播廣告效果

 更新時間:2017年08月30日 16:01:12   作者:菜鳥窩學院  
這篇文章主要為大家詳細介紹了AndroidImageSlider實現炫酷輪播廣告效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了AndroidImageSlider實現炫酷輪播廣告的具體代碼,供大家參考,具體內容如下

本文為菜鳥窩作者劉婷的連載?!鄙坛琼椖繉崙?zhàn)”系列來聊聊仿”京東淘寶的購物商城”如何實現。

AndroidImageSlider 是一個神奇而且方便的 Android 圖片滾動框架,在菜鳥商城項目中我們就要使用這個框架來實現炫酷的輪播廣告。

AndroidImageSlider 架構分析

首先我們看圖說話,下面是 AndroidImageSlider 的架構分析圖。

該架構分析圖中的 SliderLayout 是一個繼承于 RelativeLayout 的自定義View,也是該框架的核心。它由 SliderView 和 PagerIndicator 組成。而 SliderView 分為了 DefaultSliderView 和 TextSliderView 兩部分,其中 DefaultSliderView 是只支持圖片加載滾動,而 TextSliderView 不僅支持圖片還支持文本的顯示。Transition effects 和Animation 主要是動畫效果的控制,另外還有兩個重要的監(jiān)聽事件分別為 onSliderClickListener 和 onPageChangeListener,顧名思義,一個是點擊事件監(jiān)聽,另一個是頁面切換事件監(jiān)聽。

基本使用

已經了解了框架的基本構造,下面就是要看如何使用了,使用的方法也很簡單。

1. Gradle 依賴配置

我們這里使用的是 android Studio 2.2.3 開發(fā)工具,Eclipse 引用第三方庫的具體方法可以參考AndroidImageSlider 源碼說明。在 build.gradle 文件中集成第三方庫的依賴。

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. 添加權限

使用該框架還需要添加相應的權限,分別為網絡權限和讀文件的權限。

xml
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>

3. 添加到布局 Layout 中

將 SliderLayout 添加到相應的布局文件 Layout 中。

xml
<com.daimajia.slider.library.SliderLayout
 android: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.PagerIndicator
  android: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。

xml
mSlider = (SliderLayout) view.findViewById(R.id.home_slider_ad);
indicator =(PagerIndicator)view.findViewById(R.id.home_indicator_ad);

然后就是準備好測試的數據,我在這里定義了一個實體類 BannerInfo,包括了圖片 imgUrl 和描述內容 name。定義好實體類后就開始設置相應的測試數據并且添加到滾動圖片列表 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("手機國慶禮");
 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);
 }

接下來就是要配置 SliderLayout 的相關屬性了,添加自定義的 Indicator,設置動畫效果,添加圖片列表數據以及設置監(jiān)聽事件

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 滾動

在 Activity/Fragment 生命周期結束前,需要先停止圖片的滾動,防止出現內存溢出等問題。


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();
 }

最終效果

運行代碼,效果圖如下。

AndroidImageSlider 的更多使用方法和功能介紹請參考AndroidImageSlider 源碼說明。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Android使用ViewPager實現啟動引導頁

    Android使用ViewPager實現啟動引導頁

    這篇文章主要為大家詳細介紹了Android使用ViewPager實現第一次啟動引導頁,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • 基于Android實現煙花效果

    基于Android實現煙花效果

    這篇文章文章我們將介紹如何通過Canvas 2D坐標系實現粒子效果,文中通過代碼示例和圖文結合介紹的非常詳細,對大家的學習或工作有一定的幫助,感興趣的同學可以自己動手嘗試一下
    2023-11-11
  • Android自定義帶增長動畫和點擊彈窗提示效果的柱狀圖DEMO

    Android自定義帶增長動畫和點擊彈窗提示效果的柱狀圖DEMO

    這篇文章主要介紹了Android自定義帶增長動畫和點擊彈窗提示效果的柱狀圖的相關資料,非常不錯具有一定的參考借鑒價值,需要的朋友可以參考下
    2016-11-11
  • MediaPlayer音頻與視頻播放方法示例介紹

    MediaPlayer音頻與視頻播放方法示例介紹

    這篇文章主要為大家介紹了MediaPlayer音頻與視頻播放方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • Android框架組件Lifecycle的使用詳解

    Android框架組件Lifecycle的使用詳解

    這篇文章主要介紹了Android框架組件Lifecycle的使用詳解,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • java,Android:在eclipse中的快捷鍵(經典收藏)

    java,Android:在eclipse中的快捷鍵(經典收藏)

    下面的快捷鍵是常用的,本人就本身喜好且常用的收拾一下,現在曬出來與大家分享,感興趣的朋友可以了解小哦
    2013-01-01
  • Android開發(fā)實現跟隨手指的小球效果示例

    Android開發(fā)實現跟隨手指的小球效果示例

    這篇文章主要介紹了Android開發(fā)實現跟隨手指的小球效果,涉及Android圖形繪制、事件響應、界面布局等相關操作技巧,需要的朋友可以參考下
    2019-04-04
  • Android之RecycleView實現指定范圍的拖動效果

    Android之RecycleView實現指定范圍的拖動效果

    這篇文章主要介紹了Android之RecycleView實現指定范圍的拖動效果的實例代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • 詳解Flutter中視頻播放器插件的使用教程

    詳解Flutter中視頻播放器插件的使用教程

    視頻播放器插件是可用于Flutter的常用插件之一,在這篇文章中,將學習如何應用視頻播放器插件以及控制視頻播放器的不同功能,感興趣的可以了解一下
    2022-02-02
  • Android開發(fā)仿掃一掃實現拍攝框內的照片功能

    Android開發(fā)仿掃一掃實現拍攝框內的照片功能

    無論是微信還是支付寶掃一掃功能很常用,那么它基于代碼是如何實現的呢?今天小編給大家分享android開發(fā)之仿掃一掃實現拍攝框內的照片功能,感興趣的朋友一起學習吧
    2016-09-09

最新評論