Android 第三方輪播圖控制元件ConvenientBanner:通用的廣告欄控制元件
阿新 • • 發佈:2019-01-29
首先我先宣告一下這是一個三方控制元件,我在這裡僅僅是介紹一下用法,當然你也許會說不就是一個輪播圖嗎?還用得著用第三方的,真是菜比,沒錯,我確實是菜比,不過有現成的好用的簡單的 為何還一定要自己造輪子,自己寫的難免問題多
我要介紹的輪播圖控制元件是ConvenientBanner:通用的廣告欄控制元件,讓你輕鬆實現廣告頭效果。支援無限迴圈,可以設定自動翻頁和時間(而且非常智慧,手指觸碰則暫停翻頁,離開自動開始翻頁。你也可以設定在介面onPause的時候不進行自動翻頁,onResume之後繼續自動翻頁),並且提供多種翻頁特效。 對比其他廣告欄控制元件,大多都需要對原始碼進行改動才能載入網路圖片,或者幫你整合不是你所需要的圖片快取庫。而這個庫能讓有程式碼潔癖的你歡喜,不需要對庫原始碼進行修改你就可以使用任何你喜歡的網路圖片庫進行配合
我這裡只是簡單介紹下用法
我開發用的是Android Studio(以下簡稱AS)
1 如果你開發也用的是AS,那麼很簡單,在你的build.gradle檔案裡面加入 compile ‘com.bigkoo:convenientbanner:2.0.5’
當然如果你還在使用eclipse,那麼去上面專案地址下載demo拷貝架包吧 說一句廢話哈 還是早點轉AS吧 AS比eclipse智慧好用方便。
2 佈局檔案中使用
<com.bigkoo.convenientbanner.ConvenientBanner
android:id="@+id/id_cb"
android:layout_width="match_parent"
android:layout_height="100dp"
app:canLoop="true" //控制迴圈與否
/>
- 1
- 2
- 3
- 4
- 5
- 6
3 程式碼中使用
(1) 自定義你的holder 這個非常簡單 實現Holder介面 實現未實現的方法
public classImageViewHolderimplementsHolder<Integer>{
private ImageView imageView;
@Override
public View createView(Context context) {
imageView = new ImageView(context);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
return imageView;
}
@Override
public void UpdateUI(Context context, int position, Integer data) {
imageView.setImageResource(data);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
(2)給convenientBanner設定setPages
mCb.setPages(new CBViewHolderCreator<ImageViewHolder>() {
@Override
public ImageViewHolder createHolder() {
return new ImageViewHolder();
}
},mImageList)
.setPageIndicator(new int[] {R.drawable.ponit_normal,R.drawable.point_select}) //設定兩個點作為指示器
.setPageIndicatorAlign(ConvenientBanner.PageIndicatorAlign.CENTER_HORIZONTAL); //設定指示器的方向水平 居中
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
(3)記得設定mCb.startTurning(2000)開啟輪播圖迴圈翻頁,至此 一個輪播圖框架就搭建好了。
(4) 輪播圖條目點選事件,專案中點選輪播圖條目一般都會有跳頁操作 我們可以在這個方法中處理跳頁操作
mCb.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(int position) {
Toast.makeText(MainActivity.this,"點選了條目"+position,Toast.LENGTH_LONG).show();
}
});
- 1
- 2
- 3
- 4
- 5
- 6
(5)如果是載入網路圖片記得在清單檔案中加上網路許可權
4 常用方法介紹
mCb.setPageIndicator(int[]) 這個是設定指示器的方法
mCb.setPageIndicatorAlign(ConvenientBanner.PageIndicatorAlign) 設定指示器方向
mCb.startTurning(2000); //設定開始輪播以及輪播時間 建議在onResume方法中設定
mCb.stopTurning(); //停止輪播 建議在onPause方法中設定
mCb.setManualPageable(false);//設定不能手動影響 預設是手指觸控 輪播圖不能翻頁
mCb.setCanLoop(boolean); //預設true,設定輪播圖是否輪播
- 1
- 2
- 3
- 4
- 5
- 6
5 原始碼下載
6 效果圖