ConvenientBanner
通用的圖片輪播控制元件。支援無限迴圈,可以設定自動翻頁和時間(而且非常智慧,手指觸碰則暫停翻頁,離開自動開始翻頁。你也可以設定在介面onPause的時候不進行自動翻頁,onResume之後繼續自動翻頁),並且提供多種翻頁特效。 對比其他圖片輪播控制元件,大多都需要對原始碼進行改動才能載入網路圖片,或者幫你整合不是你所需要的圖片快取庫。而這個庫能讓有程式碼潔癖的你歡喜,不需要對庫原始碼進行修改你就可以使用任何你喜歡的網路圖片庫進行配合。
首先先來看效果圖:
效果圖
使用這個控制元件首先得先新增依賴

compile 'com.bigkoo:convenientbanner:2.0.5'

然後在佈局檔案中

<com.bigkoo.convenientbanner.ConvenientBanner
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/convenientBanner"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        app:canLoop="true" //控制迴圈與否
/>

直接舉一個載入網路圖片的例子:

//開始自動翻頁
        convenientBanner.startTurning(4000);
        convenientBanner.setPageTransformer(new AccordionTransformer());
        convenientBanner.setPages(new CBViewHolderCreator<NetworkImageHolderView>() {
                        @Override
                        public NetworkImageHolderView createHolder() {
                            return new NetworkImageHolderView();
                        }
                    }, Arrays.asList(imgs)).setPageIndicator(new int[]{R.drawable.dot, R.drawable.dot_selected}).setPageIndicatorAlign(ConvenientBanner.PageIndicatorAlign.ALIGN_PARENT_RIGHT);

public class NetworkImageHolderView implements Holder<String> {
        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, String data) {
            Glide.with(getActivity()).load(data).into(imageView);
        }
    }

首先獲取該控制元件,,然後設定自動輪播時間4秒,然後設定輪播特效。然後使用setPages方法,裡面有兩個引數,CBViewHolderCreator物件和圖片資源集合。
首先我們自定義一個NetworkImageHolderView 繼承自Holder,然後在createView中建立imageview,
在UpdateUi中顯示到對應imageview上,這裡的data就是傳過來的圖片資源,我這裡是url地址。Glide是一個圖片載入框架。
這樣幾部就可以實現一個通用的圖片輪播控制元件,也可以當作導航頁使用,輪播的也不一定是圖片,可以隨自己需求定製。
歡迎廣大新手加入我的android新手入門學習群一起交流進步:145186993