簡單方便的Banner無限輪播圖

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做用同樣

 

5.方法

方法名

描述

版本限制

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的自定義動畫

6.常量

常量名稱

描述

所屬方法

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

相關文章
相關標籤/搜索