封裝好的圖片滑動框架
前言
廣告輪播條的重要性不言而喻。在很多類型app中出場率都很高。昨天通過Banner廣告輪播圖這篇文章給大家講解了輪播圖的實現方式跟原理。
今天給大家介紹一個輪播圖開源項目,這個項目把輪播圖需要的ViewPager跟計時器做了封裝,使用極其方便,支持gradle在線依賴。還封裝了幾種圖片滑動動畫。
無圖無真相:
GIF/2K
有10多種滑動動畫,跟兩種滾動狀態。能滿足大部分需求。
如何使用
首先在線依賴三個庫
Picasso是Square公司出品的一款非常優秀的開源圖片載入庫,是目前Android開發中超級流行的圖片載入庫之一。nineoldandroids也是github比較有名的開源動畫庫,我們這個圖片滑動動畫就是基於這個動畫庫。slider就是Banner開源庫了。基於前面的Picasso跟nineoldandroids才達到效果。
需要在AndroidManifest.xml中加入訪問網路許可權。畢竟圖片有可能給一個url在線顯示。
activity_main.xml首頁布局文件
最外層是RelativeLayout,裡面嵌套一個RelativeLayout,設置高度200dp,這個也就是我們廣告Banner的高度,裡面有兩個控制項SliderLayout跟PagerIndicator。PagerIndicator負責Banner。PagerIndicator是指示器,表示當前選中的狀態。
MainActivity.java 首頁
首先在onCreate方法中初始化控制項,把描述跟圖片URl放map裡面。然後遍歷Map,在for循環中新建每一頁滑動的TextSliderView,把map的key作為圖片描述,設置圖片url,設置圖片縮放類型等。最後調用SliderLayout的addSlider添加進去。我們還可以設置SliderLayout的滑動動畫,設置指示器樣式,設置圖片描述顯示動畫,設置滾動時間,也是計時器時間,添加頁面改變監聽函數。
Banner的Item點擊監聽,也就是ViewPager的某一頁點擊監聽。
頁面改變監聽,ViewPager是我們經常用到的控制項。對這個回調應該很熟悉了。。不過多解釋。
滑動動畫
調用SliderLayout的setPresetTransformer可以設置滑動動畫,這個方法傳入的是一個Transformer對象。這個對象是一個枚舉類型,有以下值:
Transformer.Default 默認
Transformer.Accordion
Transformer.Background2Foreground
Transformer.CubeIn
Transformer.DepthPage
Transformer.Fade
Transformer.FlipHorizontal
Transformer.FlipPage
Transformer.Foreground2Background
Transformer.RotateDown
Transformer.RotateUp
Transformer.Stack
Transformer.Tablet
Transformer.ZoomIn
Transformer.ZoomOutSlide
Transformer.ZoomOut
大家可以設置不同的值看看什麼樣的效果,也可以下載作者github的demo,文章末尾我會貼出這個項目的github地址。
設置圖片描述顯示時動畫
setCustomAnimation(new DescriptionAnimation()); 描述默認動畫
setCustomAnimation(new ChildAnimationExample());
指示器自定義屬性
PagerIndicator(指示器)類的自定義屬性比較多,我們講幾個常用的。
源碼下載
我寫的demo源碼下載地址:
https://github.com/ansen666/ImageSlider
開源項目github地址:
https://github.com/daimajia/AndroidImageSlider
建議大家直接從開源項目作者的github下載demo,然後運行下,看看效果。我寫的demo沒有作者的全面,但是也能參考。
Android開發666
TAG:Android開發666 |