天天看點

ConvenientBanner 實作廣告輪播,自動播放。(進階篇)

通用的廣告欄控件,讓你輕松實作廣告頭效果。支援無限循環,可以設定自動翻頁和時間(而且非常智能,手指觸碰則暫停翻頁,離開自動開始翻頁。你也可以設定在界面onPause的時候不進行自動翻頁,onResume之後繼續自動翻頁),并且提供多種翻頁特效。 對比其他廣告欄控件,大多都需要對源碼進行改動才能加載網絡圖檔,或者幫你內建不是你所需要的圖檔緩存庫。而這個庫能讓有代碼潔癖的你歡喜,不需要對庫源碼進行修改你就可以使用任何你喜歡的網絡圖檔庫進行配合。

ConvenientBanner 實作廣告輪播,自動播放。(進階篇)

1.build.gradle 

compile 'com.bigkoo:convenientbanner:2.0.5'

2.xml

<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="470dp"
                app:canLoop="true" />
           

3.java

convenientBanner.setPages(new CBViewHolderCreator<LocalImageHolderView>() {
            @Override
            public LocalImageHolderView createHolder() {
                return new LocalImageHolderView();
            }
        }, pUserList)
        .setPageIndicator(new int[]{R.drawable.d2, R.drawable.d1})
                .setPageIndicatorAlign(ConvenientBanner.PageIndicatorAlign.ALIGN_PARENT_RIGHT)
                .setOnItemClickListener(this);

        try {
            Class cls = Class.forName("com.ToxicBakery.viewpager.transforms." + AccordionTransformer.class.getSimpleName());
            ABaseTransformer transforemer = (ABaseTransformer) cls.newInstance();
            convenientBanner.getViewPager().setPageTransformer(true, transforemer);

        } catch (Exception e) {
            e.printStackTrace();
        }
           

pUserList 是個LIST。d1 d2是小點點圖檔 try裡面是滑動動畫。

4.Holder

public class LocalImageHolderView implements Holder<PUser> {
    private ImageView imageView;

    @Override
    public View createView(Context context) {
        imageView = new ImageView(context);
        imageView.setScaleType(ImageView.ScaleType.FIT_XY);
        return imageView;
    }

    @Override
    public void UpdateUI(Context context, int position, PUser data) {
        imageView.setImageResource(R.drawable.home_1);
    }
}
           

PUser 對應之前的  pUserList 

git位址:https://github.com/saiwu-bigkoo/Android-ConvenientBanner