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/0172bf57ac3cf60000012e7ea54ee4.jpg@900w_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'

好了,完成以上步骤就有效果了。有事联系我。



猜你喜欢

转载自blog.csdn.net/weixin_39654467/article/details/81041805