Banner无限自动轮播的使用

来源:互联网 发布:如何查看淘宝等级 编辑:程序博客网 时间:2024/04/23 18:19
//先从右上角的Open Grodle Config点开添加
compile 'com.youth.banner:banner:1.4.9'
//然后正常在布局中创建控件
<com.youth.banner.Banner    android:layout_width="match_parent"    android:layout_height="230dp"    android:id="@+id/banner"></com.youth.banner.Banner>
//接下来到MainActivity类中
public class MainActivity extends AppCompatActivity {
    //私有化变量    private Banner banner;
    //创建一个集合用来存放地址    private List<String>list = new ArrayList<String>();    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);
//找到banner控件        banner = (Banner) findViewById(R.id.banner);
//添加地址到list集合中        list.add("http://p2.so.qhimgs1.com/t014db612a536c6308e.jpg");        list.add("http://p0.so.qhmsg.com/sdr/1152_768_/t01bfc8bd5eed31cc2f.jpg");        list.add("http://p3.so.qhimgs1.com/t01a70ab154d73d0363.jpg");        list.add("http://p0.so.qhmsg.com/sdr/1024_768_/t01d7074adc783f1e45.jpg");        list.add("http://p0.so.qhmsg.com/sdr/576_768_/t011f1b82155aada155.jpg");
创建一个图片加载器        banner.setImageLoader(new MImage());//加载出集合中的图片        banner.setImages(list);//设置是否自动轮播        banner.isAutoPlay(true);//设置激动轮播的间隔时间        banner.setDelayTime(3000);//启动banner        banner.start();    }}
//下面到MImage类中
public class MImage extends ImageLoader {    @Override
//重写displayImage方法    public void displayImage(Context context, Object path, ImageView imageView) {//下面这些复制就行了,我也不知道什么意思        com.nostra13.universalimageloader.core.ImageLoader instance = com.nostra13.universalimageloader.core.ImageLoader.getInstance();        instance.displayImage((String) path, imageView);    }}
//还需要创建MyApplication工具类//这个类可以复制进来
public class MyApplication extends Application {    @Override    public void onCreate() {        super.onCreate();        File cacheDir=this.getExternalCacheDir();//自定义缓存路径        ImageLoaderConfiguration configuration=new ImageLoaderConfiguration.Builder(this)                .memoryCache(new LruMemoryCache(2 * 1024 * 1024))//设置内存缓存区大小                .memoryCacheSize(2 * 1024 * 1024)//设置缓存区大小                .memoryCacheExtraOptions(320,320)//缓存图片最大的宽度与高度 px                .diskCacheSize(50*1024*1024)//设置sd卡缓存的空间大小                .diskCacheFileNameGenerator(new Md5FileNameGenerator())//sd卡缓存图片的命名 使用md5加密方式                .diskCache(new UnlimitedDiscCache(cacheDir))//自定义sd卡的缓存路径                .diskCacheFileCount(100)//缓存文件的最大数量                .writeDebugLogs()//写入日志                .threadPoolSize(3)//线程池                .build();        //imageLoader进行初使化        ImageLoader.getInstance().init(configuration);    }}


原创粉丝点击