1. 程式人生 > >Android輪播圖Banner

Android輪播圖Banner

Android實現輪播圖

昨天早睡,今天早上精力充沛!所以寫一篇部落格記錄一下。

效果圖:


第一步新增依賴:

compile 'com.youth.banner:banner:1.4.9'

第二步在佈局中新增:

<com.youth.banner.Banner
        android:id="@+id/mBanner"
        android:layout_width="match_parent"
        android:layout_height="150dp">
    </com.youth.banner.Banner>

第三步,程式碼實現:

public class FindFragment extends Fragment  implements OnBannerListener{
    private Banner mBanner;
    private ArrayList<String> list_path;
    private ArrayList<String> list_title;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.find_fragment, container, false);
        initView(view);
        return view;
    }

    private void initView(View view) {
        mBanner = (Banner) view.findViewById(R.id.mBanner);
        //放圖片地址的集合
        list_path=new ArrayList<>();
        list_path.add("http://img000.hc360.cn/m6/M06/E7/5D/wKhQolZM-RSEdbGvAAAAALHlV6M649.jpg");
        list_path.add("http://img.zcool.cn/community/
[email protected]
_1l_2o_100sh.jpg"); list_path.add("http://img.zcool.cn/community/01821357f7c646a84a0d304f9578ac.png"); list_path.add("http://pic17.nipic.com/20111117/7168712_090744285164_2.jpg"); //放標題的集合 list_title=new ArrayList<>(); list_title.add("輪播圖1"); list_title.add("輪播圖2"); list_title.add("輪播圖3"); list_title.add("輪播圖4"); //設定banner樣式 mBanner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE); //設定圖片載入器,圖片載入器在下方 mBanner.setImageLoader(new MyLoader()); //設定圖片地址集合 mBanner.setImages(list_path); //設定標題的集合 mBanner.setBannerTitles(list_title); //設定輪播間隔時間 mBanner.setDelayTime(3000); //設定輪播動畫效果 mBanner.setBannerAnimation(Transformer.Default); //設定輪播 mBanner.isAutoPlay(true); //設定指示器位置 mBanner.setIndicatorGravity(BannerConfig.CENTER); //設定監聽 mBanner.setOnBannerListener(this); //啟動輪播圖 mBanner.start(); } @Override public void OnBannerClick(int position) { Toast.makeText(getContext(),position+"項",Toast.LENGTH_SHORT).show(); } private class MyLoader implements ImageLoaderInterface { @Override public void displayImage(Context context, Object path, View imageView) { Glide.with(context).load(path).into((ImageView) imageView); } @Override public View createImageView(Context context) { return null; } } }

混淆一下:

# glide 的混淆程式碼
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
  **[] $VALUES;
  public *;
}
# banner 的混淆程式碼
-keep class com.youth.banner.** {
    *;
 }

注:Glide是一個網路圖片載入框架,只需新增依賴即可:

    compile 'com.github.bumptech.glide:glide:3.7.0'

好了,完成以上步驟就有效果了。有事聯絡我。