安卓学习07


今日学习了Glide和SwipeRefreshLayout。

1、Glide

  • 官方简介:Glide是一个快速高效的Android图片加载库,注重于平滑的滚动。Glide提供了易用的API,高性能、可扩展的图片解码管道(decode pipeline),以及自动的资源池技术。

  • Glide的使用也是比较简单,最基础的使用代码:

    Glide.with(fragment)
        .load(url)
        .into(imageView);

     

  • 依赖:

    implementation 'com.github.bumptech.glide:glide:4.11.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'

     

实际操作:

Glide.with(this)
                .load(url)
                .placeholder(R.drawable.ic_launcher_background)
                .listener(new RequestListener<Drawable>() {
                    @Override
                    public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
                        if (swipeRefreshLayout.isRefreshing()){
                            swipeRefreshLayout.setRefreshing(false);
                        }
                        return false;
                    }
​
                    @Override
                    public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
                        if (swipeRefreshLayout.isRefreshing()){
                            swipeRefreshLayout.setRefreshing(false);
                        }
                        return false;
                    }
                })
                .into(imageView);

 

2、SwipeRefreshLayout

  • 依赖:

    implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"

     

  • 需要在布局中将顶层容器换为swiperefreshlayout,并为其设置id以供使用。

  • 实际使用:

    swipeRefreshLayout = findViewById(R.id.swipeRefreshLayout);
    swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
                @Override
                public void onRefresh() {
                    imageLoad();
                }
            });

     

    • imageLoad()为glide封装的图片加载函数。

posted @ 2020-02-09 21:17  Nevesettle  阅读(147)  评论(0编辑  收藏  举报