使用Picasso从URL加载到ImageView,而不在ImageView上使用白色闪存

bod*_*tta 4 android picasso

我正在使用Square的Picasso库将URL字符串加载到ImageView中.我在一个数组或带有Timer的URL上多次调用它来更改ImageView图像.

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

在Picasso缓存内容后,ImageView会在没有闪存的情况下进行更改.

如何阻止ImageView闪烁白色?

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

                    @Override
                    public void onError() {
                        mProgress.dismiss();
                    }
                });
Run Code Online (Sandbox Code Playgroud)

小智 16

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

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

                    @Override
                    public void onError() {
                        mProgress.dismiss();
                    }
                });
Run Code Online (Sandbox Code Playgroud)

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

毕加索Documentaton