Android中廣告輪播框架Banner----(功能很全面

轉載地址:https://github.com/youth5201314/bannerhtml

參考視頻:http://ke.atguigu.com/course/150git

 

Android圖片輪播控件

 

Apache 2.0 License

新框架發佈,歡迎你們Star

XFrame - Android快速開發框架github

XFrame詳細功能文檔預覽apache

 

如今的絕大數app都有banner界面,實現循環播放多個廣告圖片和手動滑動循環等功能。由於ViewPager並不支持循環翻頁, 因此要實現循環還得須要本身去動手,我就把項目中的控件剔了出來,但願你們以爲有用。目前框架能夠進行不一樣樣式、不一樣動畫設置, 以及完善的api方法能知足大部分的需求了。api

效果圖

模式 圖片
指示器模式 效果示例
數字模式 效果示例
數字加標題模式 效果示例
指示器加標題模式
垂直顯示
效果示例
指示器加標題模式
水平顯示
效果示例

聯繫方式 

效果示例

  • 若是遇到問題和建議歡迎在給我發送郵件或者加入qq羣,但願讓這個工程愈來愈完善。
  • 羣滿能夠加羣2:594813900

常量

常量名稱 描述 所屬方法
BannerConfig.NOT_INDICATOR 不顯示指示器和標題 setBannerStyle
BannerConfig.CIRCLE_INDICATOR 顯示圓形指示器 setBannerStyle
BannerConfig.NUM_INDICATOR 顯示數字指示器 setBannerStyle
BannerConfig.NUM_INDICATOR_TITLE 顯示數字指示器和標題 setBannerStyle
BannerConfig.CIRCLE_INDICATOR_TITLE 顯示圓形指示器和標題(垂直顯示) setBannerStyle
BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE 顯示圓形指示器和標題(水平顯示) setBannerStyle
BannerConfig.LEFT 指示器居左 setIndicatorGravity
BannerConfig.CENTER 指示器居中 setIndicatorGravity
BannerConfig.RIGHT 指示器居右 setIndicatorGravity

動畫常量類(setBannerAnimation方法調用)

ViewPagerTransforms 動畫時集成的第三方庫,可能有兼容問題致使position位置不許確,你能夠選擇參考動畫而後自定義動畫數組

常量類名
Transformer.Default
Transformer.Accordion
Transformer.BackgroundToForeground
Transformer.ForegroundToBackground
Transformer.CubeIn
Transformer.CubeOut
Transformer.DepthPage
Transformer.FlipHorizontal
Transformer.FlipVertical
Transformer.RotateDown
Transformer.RotateUp
Transformer.ScaleInOut
Transformer.Stack
Transformer.Tablet
Transformer.ZoomIn
Transformer.ZoomOut
Transformer.ZoomOutSlide

方法

方法名 描述 版本限制
setBannerStyle(int bannerStyle) 設置輪播樣式(默認爲CIRCLE_INDICATOR)
setIndicatorGravity(int type) 設置指示器位置(沒有標題默認爲右邊,有標題時默認左邊)
isAutoPlay(boolean isAutoPlay) 設置是否自動輪播(默認自動)
setViewPagerIsScroll(boolean isScroll) 設置是否容許手動滑動輪播圖(默認true) 1.4.5開始
update(List<?> imageUrls,List titles) 更新圖片和標題 1.4.5開始
update(List<?> imageUrls) 更新圖片 1.4.5開始
startAutoPlay() 開始輪播 1.4開始,此方法只做用於banner加載完畢-->須要在start()後執行
stopAutoPlay() 結束輪播 1.4開始,此方法只做用於banner加載完畢-->須要在start()後執行
start() 開始進行banner渲染 1.4開始
setOffscreenPageLimit(int limit) 同viewpager的方法做用同樣 1.4.2開始
setBannerTitle(String[] titles) 設置輪播要顯示的標題和圖片對應(若是不傳默認不顯示標題) 1.3.3結束
setBannerTitleList(List titles) 設置輪播要顯示的標題和圖片對應(若是不傳默認不顯示標題) 1.3.3結束
setBannerTitles(List titles) 設置輪播要顯示的標題和圖片對應(若是不傳默認不顯示標題) 1.4開始
setDelayTime(int time) 設置輪播圖片間隔時間(單位毫秒,默認爲2000)
setImages(Object[]/List<?> imagesUrl) 設置輪播圖片(全部設置參數方法都放在此方法以前執行) 1.4後去掉數組傳參
setImages(Object[]/List<?> imagesUrl,OnLoadImageListener listener) 設置輪播圖片,而且自定義圖片加載方式 1.3.3結束
setOnBannerClickListener(this) 設置點擊事件,下標是從1開始 無(1.4.9之後廢棄了)
setOnBannerListener(this) 設置點擊事件,下標是從0開始 1.4.9之後
setOnLoadImageListener(this) 設置圖片加載事件,能夠自定義圖片加載方式 1.3.3結束
setImageLoader(Object implements ImageLoader) 設置圖片加載器 1.4開始
setOnPageChangeListener(this) 設置viewpager的滑動監聽
setBannerAnimation(Class<? extends PageTransformer> transformer) 設置viewpager的默認動畫,傳值見動畫表
setPageTransformer(boolean reverseDrawingOrder, ViewPager.PageTransformer transformer) 設置viewpager的自定義動畫

Attributes屬性(banner佈局文件中調用)

Attributes forma describe
delay_time integer 輪播間隔時間,默認2000
scroll_time integer 輪播滑動執行時間,默認800
is_auto_play boolean 是否自動輪播,默認true
title_background color reference
title_textcolor color 標題字體顏色
title_textsize dimension 標題字體大小
title_height dimension 標題欄高度
indicator_width dimension 指示器圓形按鈕的寬度
indicator_height dimension 指示器圓形按鈕的高度
indicator_margin dimension 指示器之間的間距
indicator_drawable_selected reference 指示器選中效果
indicator_drawable_unselected reference 指示器未選中效果
image_scale_type enum 和imageview的ScaleType做用同樣
banner_default_image reference 當banner數據爲空是顯示的默認圖片
banner_layout reference 自定義banner佈局文件,可是必須保證id的名稱同樣(你能夠將banner的佈局文件複製出來進行修改)

[ 點擊查看 ViewPager的PageTransformer用法 ]

使用步驟

Step 1.依賴banner

Gradle網絡

 

或者引用本地libapp

 

Step 2.添加權限到你的 AndroidManifest.xml

 

Step 3.在佈局文件中添加Banner,能夠設置自定義屬性

!!!此步驟能夠省略,直接在Activity或者Fragment中new Banner();框架

 

Step 4.重寫圖片加載器

 

Step 5.在Activity或者Fragment中配置Banner

 

Step 6.(可選)增長體驗

 

混淆代碼

 

[歷史版本資源地址]eclipse

[1.3.3之前舊版本使用文檔地址]

常見問題

  • 問:eclipse怎麼使用banner?

    • 答:在歷史版本列表中下載你想要版本的aar包提取最新資源/也能夠本身把工程轉成eclipse的 
      eclipse的集成demo羣文件裏有共享!
  • 問:怎麼顯示的一片空白?

    • 答:
      一、沒有添加網絡權限
      二、檢查圖片連接是否能打開。
  • 問:怎麼加載其餘圖片資源(資源文件、文件、Uri、assets、raw、ContentProvider、sd卡資源)?

    • 答:列如!若是你使用的是glide,那麼能夠以下操做,其餘圖片圖片加載框架可能有不一樣
       
  • 問:設置banner指示器顏色怎麼變成方的了?

    • 答:首先我先要說不少軟件的指示器也是矩形的,而後banner的指示器能夠設置color、資源圖片、drawable文件夾自定義xml, 因此形狀你本身能夠根據需求定義哦!
  • 問:爲何banner的點擊事件沒有反應,須要下一次輪播才行?

    • 答:請將點擊事件放在start方法以前執行,詳情能夠看demo。
相關文章
相關標籤/搜索