关于banner获取网络图片设置自动轮播

来源:互联网 发布:淘宝李茗汐怎么了 编辑:程序博客网 时间:2024/06/05 08:22

1、首先导入依赖包

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


2、在布局文件中创建banner的控件

<com.youth.banner.Banner    android:layout_width="match_parent"    android:layout_height="200dp"    android:id="@+id/banner"    ></com.youth.banner.Banner>3、创建一个
GlideImageLoader
类来初始化Banner

public class GlideImageLoader extends ImageLoader {    @Override    public void displayImage(Context context, Object path, ImageView imageView) {        /**         注意:         1.图片加载器由自己选择,这里不限制,只是提供几种使用方法         2.返回的图片路径为Object类型,由于不能确定你到底使用的那种图片加载器,         传输的到的是什么格式,那么这种就使用Object接收和返回,你只需要强转成你传输的类型就行,         切记不要胡乱强转!         */        //Glide 加载图片简单用法        Glide.with(context).load(path).into(imageView);        //Picasso 加载图片简单用法        //   Picasso.with(context).load(path).into(imageView);        //fresco加载图片简单用法,记得要写下面的createImageView方法        Uri uri = Uri.parse((String) path);        imageView.setImageURI(uri);    }    //提供createImageView 方法,如果不用可以不重写这个方法,主要是方便自定义ImageView的创建    /*@Override    public ImageView createImageView(Context context) {        //使用fresco,需要创建它提供的ImageView,当然你也可以用自己自定义的具有图片加载功能的ImageView        SimpleDraweeView simpleDraweeView=new SimpleDraweeView(context);        return simpleDraweeView;    }*/}4、然后在解析方法中编写代码。在Gson解析设置适配器下边写集合中添加的对象为网络中解析出来的图片
List<Bean.ResultBean.TopicsBean> pics = bean.getResult().getTopics();ArrayList<String> pic = new ArrayList<>();for (int i = 0; i <pics.size() ; i++) {    pic.add(pics.get(i).getPic());}//设置图片加载器banner.setImageLoader(new GlideImageLoader());//设置图片集合banner.setImages(pic);//设置banner动画效果banner.setBannerAnimation(Transformer.Default);banner.setIndicatorGravity(BannerConfig.CENTER);//banner设置方法全部调用完毕时最后调用banner.start();








 
原创粉丝点击