GIT地址android
1.依賴git
compile 'com.youth.banner:banner:1.4.9'
2.XML佈局文件github
<com.youth.banner.Banner android:id="@+id/banner" android:layout_width="wrap_content" android:layout_height="200dp"/>
3.代碼實現數組
banner .setImages(imgs)//添加圖片集合或圖片url集合 .setIndicatorGravity(BannerConfig.CENTER)//設置指示器位置(當banner模式中有指示器時) .setBannerAnimation(Transformer.FlipHorizontal)//設置banner動畫效果 .setBannerTitles(titles)//設置標題集合(當banner樣式有顯示title時) .setDelayTime(1500)//設置輪播時間 .setBannerStyle(BannerConfig.CIRCLE_INDICATOR) .setImageLoader(new GlideImage())//加載圖片 .setIndicatorGravity(BannerConfig.CENTER)//設置指示器位置 .start();
工具類ide
public class GlideImage extends ImageLoader { @Override public void displayImage(Context context, Object path, ImageView imageView) { //String注意修改類型 Picasso.with(context.getApplicationContext()).load((String) path).into(imageView); } }
Attributes工具 |
forma佈局 |
describe字體 |
delay_time動畫 |
integerthis |
輪播間隔時間,默認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做用同樣 |
方法名 |
描述 |
版本限制 |
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的自定義動畫 |
無 |
常量名稱 |
描述 |
所屬方法 |
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 |