美文网首页
1分钟实现网络图片轮播图

1分钟实现网络图片轮播图

作者: 柏林billy | 来源:发表于2018-10-12 11:55 被阅读0次

    1分钟实现网络图片轮播图#

    一.添加依赖

    build.gradle里添加依赖.

    //轮播图
    api 'com.youth.banner:banner:1.4.9'  //最新版本
    //网络图片加载
    compile 'com.squareup.picasso:picasso:2.5.2'
    

    二.在布局文件插入轮播图

    <!--轮播图-->
            <com.youth.banner.Banner
                android:id="@+id/banner"
                android:layout_width="match_parent"
                android:layout_height="200dp"/>
    

    三.逻辑代码的添加

    引入

    import com.youth.banner.Banner; 
    
    private Banner mBanner; 
    
    mBanner = (Banner) findViewById(R.id.banner);
    /**
     * 轮播图初始化
     */
    private void initImageLoader() {
        //设置图片加载器
        mBanner.setImageLoader(new GlideImageLoader());
        //设置图片集合
        List<Uri> images = new ArrayList<>();
        images.add(Uri.parse("http://d.hiphotos.baidu.com/image/pic/item/2fdda3cc7cd98d104a601b0a2c3fb80e7bec9050.jpg"));
        images.add(Uri.parse("http://e.hiphotos.baidu.com/image/pic/item/8c1001e93901213f5480ffe659e736d12f2e955d.jpg"));
        images.add(Uri.parse("http://c.hiphotos.baidu.com/image/pic/item/8694a4c27d1ed21b3c778fdda06eddc451da3f4f.jpg"));
        mBanner.setImages(images);
        //banner设置方法全部调用完毕时最后调用
        mBanner.start();
        //banner点击事件
        mBanner.setOnBannerListener(new OnBannerListener() {
            @Override
            public void OnBannerClick(int position) {
                switch (position){
                    case 0:
                        ToastUtils.show(mContext,"跳转到:"+0);
                        break;
                    case 1:
                        ToastUtils.show(mContext,"跳转到:"+1);
                        break;
                    case 2:
                        ToastUtils.show(mContext,"跳转到:"+2);
                        break;
                }
            }
        });
    }
    

    四.重写glide加载图片方式

    /**
     * 创建者: billy
     * 创建时间: 2018/9/3 16:52
     * 描述: 重写glide加载图片的方式
     */
    public class GlideImageLoader extends ImageLoader {
        @Override
        public void displayImage(Context context, Object path, ImageView imageView) {
            /**
             注意:
             1.图片加载器由自己选择,这里不限制,只是提供几种使用方法
             2.返回的图片路径为Object类型,由于不能确定你到底使用的那种图片加载器,
             传输的到的是什么格式,那么这种就使用Object接收和返回,你只需要强转成你传输的类型就行,
             切记不要胡乱强转!
             */;
    
            //Picasso 加载图片简单用法
            Picasso.with(context).load((Uri) path).into(imageView);
        }
    }
    

    相关文章

      网友评论

          本文标题:1分钟实现网络图片轮播图

          本文链接:https://www.haomeiwen.com/subject/qfnwaftx.html