使用 Picasso 从 URL 加载到 ImageView,ImageView 上没有白色闪光

Load from URL to ImageView with Picasso without white flash on ImageView

我正在使用 Square 的 Picasso 库将 URL 字符串加载到 ImageView 中。我在一个数组或 URLs 上多次调用它,使用计时器来更改 ImageView 图像。

尽管第一次,当 Picasso 加载 URL 内容时,每次 ImageView 更新时,它都会闪烁白色。

Picasso缓存内容后,ImageView发生变化,没有flash。

如何阻止 ImageView 闪烁白色?

Picasso.with(getApplicationContext()).load(currentUrl).into(img, new Callback() {
                    @Override
                    public void onSuccess() {
                        mProgress.dismiss();
                    }

                    @Override
                    public void onError() {
                        mProgress.dismiss();
                    }
                });

有同样的问题,通过添加 noPlaceHolder 指令解决了这个问题:

Picasso.with(getApplicationContext())
    .load(currentUrl)
    .noPlaceholder()
    .into(img, new Callback() {
                    @Override
                    public void onSuccess() {
                        mProgress.dismiss();
                    }

                    @Override
                    public void onError() {
                        mProgress.dismiss();
                    }
                });

默认情况下,Picasso 将清除目标 ImageView 以确保在视图被回收的情况下的行为。此方法将防止该行为并保留任何已设置的图像。

Picasso Documentaton

ImageView iv = findViewById(R.id.iv);
Picass().get()
.load("Image Url")
.noPlaceHolder()
.into(iv);