Android輪播圖控件CustomBanner的使用講解

今天給大家講解的是Android輪播圖控件CustomBanner的使用宏侍。CustomBanner是我在GitHub上傳的一個(gè)Android輪播圖控件坯门。在上一篇博客 《Android輪播圖控件的實(shí)現(xiàn)詳解》中,我詳細(xì)分析了CustomBanner的實(shí)現(xiàn)思路和核心代碼寇仓,還沒(méi)有看過(guò)的同學(xué)建議先看一下惊橱,這樣無(wú)論是你想自己實(shí)現(xiàn)一個(gè)輪播圖控件局荚,還是使用CustomBanner都大有好處最住。

現(xiàn)在我們開始講解CustomBanner的具體使用钞澳,CustomBanner在GitHub的地址是:https://github.com/donkingliang/CustomBanner

1、引入依賴
在Project的build.gradle在添加以下代碼

    allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }

在Module的build.gradle在添加以下代碼

    dependencies {
            compile 'com.github.donkingliang:CustomBanner:1.1.0'
    }

2涨缚、編寫布局

    <!-- 設(shè)置普通指示器 -->
    <com.donkingliang.banner.CustomBanner 
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/banner"
        android:layout_width="match_parent"
        android:layout_height="180dp"
        app:indicatorStyle="ORDINARY"  //指示器類型 普通指示器
        app:indicatorGravity="CENTER_HORIZONTAL" //指示器的位置 有左轧粟。中、右三個(gè)值
        app:indicatorSelectRes="@drawable/shape_point_select" //指示器的選中的樣式
        app:indicatorUnSelectRes="@drawable/shape_point_unselect" //指示器的未選中的樣式
        app:indicatorInterval="5dp"/> //指示器的點(diǎn)的間隔


    <!-- 設(shè)置數(shù)字指示器 -->
    <com.donkingliang.banner.CustomBanner
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/banner"
        android:layout_width="match_parent"
        android:layout_height="180dp"
        app:indicatorStyle="NUMBER" //指示器類型 數(shù)字指示器
        app:indicatorGravity="RIGHT"/> //指示器的位置 有左脓魏。中兰吟、右三個(gè)值


    <!-- 設(shè)置沒(méi)有指示器 -->
    <com.donkingliang.banner.CustomBanner
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/banner"
        android:layout_width="match_parent"
        android:layout_height="180dp"
        app:indicatorStyle="NONE"/> //指示器類型 沒(méi)有指示器

3、CustomBanner的方法使用
1)茂翔、設(shè)置數(shù)據(jù)

mBanner.setPages(new CustomBanner.ViewCreator<String>() {
    @Override
    public View createView(Context context, int position) {
        //這里返回的是輪播圖的項(xiàng)的布局 支持任何的布局
        //position 輪播圖的第幾個(gè)項(xiàng)
        ImageView imageView = new ImageView(context);
        return imageView;
    }

    @Override
    public void updateUI(Context context, View view, int position, String data) {
     //在這里更新輪播圖的UI
     //position 輪播圖的第幾個(gè)項(xiàng)
     //view 輪播圖當(dāng)前項(xiàng)的布局 它是createView方法的返回值
     //data 輪播圖當(dāng)前項(xiàng)對(duì)應(yīng)的數(shù)據(jù)
    Glide.with(context).load(data).into((ImageView) view);
    }
}, beans);

輪播圖的布局支持任何的布局揽祥,輪播圖的數(shù)據(jù)類型也是支持任何的數(shù)據(jù)類型,這里只是用ImageView和String舉例而已檩电。

2)、其他方法的使用

//設(shè)置指示器類型,有普通指示器(ORDINARY)俐末、數(shù)字指示器(NUMBER)和沒(méi)有指示器(NONE)三種類型料按。
//這個(gè)方法跟在布局中設(shè)置app:indicatorStyle是一樣的
mBanner.setIndicatorStyle(CustomBanner.IndicatorStyle.ORDINARY);

//設(shè)置兩個(gè)點(diǎn)圖片作為翻頁(yè)指示器,只有指示器為普通指示器(ORDINARY)時(shí)有用卓箫。
//這個(gè)方法跟在布局中設(shè)置app:indicatorSelectRes载矿、app:indicatorUnSelectRes是一樣的。
//第一個(gè)參數(shù)是指示器的選中的樣式烹卒,第二個(gè)參數(shù)是指示器的未選中的樣式闷盔。
mBanner.setIndicatorRes(R.drawable.shape_point_select,R.drawable.shape_point_unselect);
      
//設(shè)置指示器的指示點(diǎn)間隔旅急,只有指示器為普通指示器(ORDINARY)時(shí)有用逢勾。
//這個(gè)方法跟在布局中設(shè)置app:indicatorInterval是一樣的。
mBanner.setIndicatorInterval(20)

//設(shè)置指示器的方向藐吮。
//這個(gè)方法跟在布局中設(shè)置app:indicatorGravity是一樣的溺拱。
mBanner.setIndicatorGravity(CustomBanner.IndicatorGravity.CENTER_HORIZONTAL)

//設(shè)置輪播圖自動(dòng)滾動(dòng)輪播,參數(shù)是輪播圖滾動(dòng)的間隔時(shí)間
//輪播圖默認(rèn)是不自動(dòng)滾動(dòng)的谣辞,如果不調(diào)用這個(gè)方法迫摔,輪播圖將不會(huì)自動(dòng)滾動(dòng)。
mBanner.startTurning(3600);

//停止輪播圖的自動(dòng)滾動(dòng)
mBanner.stopTurning();

//設(shè)置輪播圖的滾動(dòng)速度
mBanner.setScrollDuration(500);

//設(shè)置輪播圖的點(diǎn)擊事件
mBanner.setOnPageClickListener(new CustomBanner.OnPageClickListener<String>() {
    @Override
    public void onPageClick(int position, String str) {
     //position 輪播圖的第幾個(gè)項(xiàng)
     //str 輪播圖當(dāng)前項(xiàng)對(duì)應(yīng)的數(shù)據(jù)
    }
});

以上是CustomBanner的主要常用方法泥从,更多方法請(qǐng)查看源碼句占。

3)、CustomBanner的很多方法都支持方法的鏈?zhǔn)秸{(diào)用躯嫉,比如以下的方法可以這樣調(diào)用纱烘。

    mBanner.setPages(參數(shù), 參數(shù)).setIndicatorRes(參數(shù), 參數(shù)).setIndicatorGravity(參數(shù)).startTurning(參數(shù));

效果圖

演示.gif

CustomBanner的使用就介紹到這里了,大家在使用中如果發(fā)現(xiàn)什么問(wèn)題或是有什么建議和敬,歡迎評(píng)論留言凹炸。

文章已同步到我的CSDN博客

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市昼弟,隨后出現(xiàn)的幾起案子啤它,更是在濱河造成了極大的恐慌,老刑警劉巖舱痘,帶你破解...
    沈念sama閱讀 216,919評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件变骡,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡芭逝,警方通過(guò)查閱死者的電腦和手機(jī)塌碌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)旬盯,“玉大人台妆,你說(shuō)我怎么就攤上這事翎猛。” “怎么了接剩?”我有些...
    開封第一講書人閱讀 163,316評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵切厘,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我懊缺,道長(zhǎng)疫稿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,294評(píng)論 1 292
  • 正文 為了忘掉前任鹃两,我火速辦了婚禮遗座,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘俊扳。我一直安慰自己途蒋,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,318評(píng)論 6 390
  • 文/花漫 我一把揭開白布拣度。 她就那樣靜靜地躺著碎绎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪抗果。 梳的紋絲不亂的頭發(fā)上筋帖,一...
    開封第一講書人閱讀 51,245評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音冤馏,去河邊找鬼日麸。 笑死,一個(gè)胖子當(dāng)著我的面吹牛逮光,可吹牛的內(nèi)容都是我干的代箭。 我是一名探鬼主播,決...
    沈念sama閱讀 40,120評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼涕刚,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼嗡综!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起杜漠,我...
    開封第一講書人閱讀 38,964評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤极景,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后驾茴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體盼樟,經(jīng)...
    沈念sama閱讀 45,376評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,592評(píng)論 2 333
  • 正文 我和宋清朗相戀三年锈至,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了晨缴。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,764評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡峡捡,死狀恐怖击碗,靈堂內(nèi)的尸體忽然破棺而出筑悴,到底是詐尸還是另有隱情,我是刑警寧澤延都,帶...
    沈念sama閱讀 35,460評(píng)論 5 344
  • 正文 年R本政府宣布雷猪,位于F島的核電站,受9級(jí)特大地震影響晰房,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜射沟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,070評(píng)論 3 327
  • 文/蒙蒙 一殊者、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧验夯,春花似錦猖吴、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至绑谣,卻和暖如春党窜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背借宵。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工幌衣, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人壤玫。 一個(gè)月前我還...
    沈念sama閱讀 47,819評(píng)論 2 370
  • 正文 我出身青樓豁护,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親欲间。 傳聞我的和親對(duì)象是個(gè)殘疾皇子楚里,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,665評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容