Android-第三方Banner实现对网络图片的无线轮播

使用步骤:

1.在build.gradle中加入包,点击右上角的同步:

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

2.添加权限到你的 AndroidManifest.xm

<uses-permission android:name="android.permission.INTERNET"> </uses-permission> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
 
 

3.在布局文件中添加Banner,可以设置自定义属性

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
<com.youth.banner.Banner
    android:id="@+id/ban"
    android:layout_width="match_parent"
    android:layout_height="250dp">

</com.youth.banner.Banner>

</LinearLayout>
4.写一个图片加载器类并继承ImageLoader
//定义的一个Bannerde 图片加载器,继承ImageLoader
public class BannerImageLoad extends ImageLoader{
     //在该方法内用Glide进行加载图片
    @Override
    public void displayImage(Context context, Object path, ImageView imageView) {
        Glide.with(context).load(path).into(imageView);
    }
}

5.解析赋值

                //用Gson解析数据并得到该数据的类
                Gson gson=new Gson();
                News news = gson.fromJson(msg.obj.toString(), News.class);
                //得到要展示的图片和标题的类的集合并遍历
                List<News.DataBean> data = news.getData();
                //新建一个存放图片的集合和标题的集合
                ArrayList<String> images=new ArrayList<>();
                ArrayList<String> title=new ArrayList<>();
                //遍历完后把相应的数据添加到集合中
                for (News.DataBean bean:data){
                    images.add(bean.getImgSrc());
                    title.add(bean.getTitle());
                }
                //将图片和标题设置到Banner中
                ban.setImages(images);
                ban.setBannerTitles(title);
 
 
        //设置图片加载器
            BannerImageLoad bil=new BannerImageLoad();
            ban.setImageLoader(bil);
            //设置显示样式(显示数字指示器和标题)
            ban.setBannerStyle(BannerConfig.NUM_INDICATOR_TITLE);

                            //开启Banner 

                            ban.start(); 

 } } }; 

猜你喜欢

转载自blog.csdn.net/lxd13699/article/details/80633524