LoginSignup
20
16

More than 5 years have passed since last update.

Picassoでサムネ->オリジナル画像をシームレスに表示させる

Last updated at Posted at 2015-01-06

やりたいこと

最初にサムネを表示させて,解像度の大きな画像はロードが完了してから表示させたい。
例えばMaster画面のサムネが並んだリストを選択したあと,Detail画面で大きな画像を表示させるとき。すでにメモリに読んでるはずのサムネを表示しておいて、ロード完了まで何も表示されないのを避けたい。

実装

Picassoの導入とかはほかにまかせます。

Picasso.with(mContext).load(thumbUrl).into(imageView, new Callback(){
    @Override
    public void onSuccess() {
        Drawable drawable = imageView.getDrawable();
        Picasso.with(mContext).load(originalUrl).placeholder(drawable).into(imageView);
    }

    @Override
    public void onError() {
        Picasso.with(mContext).load(originalUrl).into(imageView);
    }
});

Callbackを使ってサムネのロード後にオリジナル画像を読み込むようにします。
また,サムネロードした直後にload(originalUrl).into(imageView)するとサムネの表示がされないので、サムネをdrawableとして取得してplaceholderに設定します。

20
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
16