Picasso を使った画像表示
今回は神Jake Wharton 氏が作成したPicassoという画像のダウンロードやらキャッシュをやってくれるライブラリーについて紹介したいと思います。
使い方
使い方は至って簡単!!
Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView);
load
に画像が置かれているurlを私into
に画像を表示したいImageViewを渡すだけです。
また、画像の加工もでき
Picasso.with(context) .load(url) .resize(50, 50) .centerCrop() .into(imageView)
このようにすれば中央を中心に50*50でクロップすることができ、また角丸の画像を作りたいならば
public class CropSquareTransformation implements Transformation { @Override public Bitmap transform(Bitmap source) { int size = Math.min(source.getWidth(), source.getHeight()); int x = (source.getWidth() - size) / 2; int y = (source.getHeight() - size) / 2; Bitmap result = Bitmap.createBitmap(source, x, y, size, size); if (result != source) { source.recycle(); } return result; } @Override public String key() { return "square()"; } }
というTransformationを作成し
Picasso.with(context)
.load(url)
.transform(new CropSquareTransformation())
.into(imageView)
といった感じで渡してください。
また、自分でTransformationを作るのが面倒くさいという方はwasabeefさんが様々なTransformationを作成してくださり、ライブラリーとして配布されているのでそちらを使うのがオススメです。
Picassoでは画像の読み込み中やエラーが出たときに表示する画像を指定することができます。
Picasso.with(context) .load(url) .placeholder(R.drawable.user_placeholder) .error(R.drawable.user_placeholder_error) .into(imageView);
また、ネットに上がっている画像のみではなくローカルに保存された画像もpathを指定することで表示することができます。
Picasso.with(context).load(R.drawable.landing_screen).into(imageView1); Picasso.with(context).load("file:///android_asset/DvpvklR.png").into(imageView2); Picasso.with(context).load(new File(...)).into(imageView3);
キャッシュのサイズを制限することもできます。
int maxSize = MAX_CACHE_SIZE; Picasso picasso = new Picasso.Builder(context) .memoryCache(new LruCache(maxSize)) .build();
このmaxSize
はバイトを表します。
またデバッグでイメージがネット、キャッシュ、Diskのどれから呼び出されているのかsetIndicatorsEnabled(true)
を使い可視化することができます。
どうやって使うの?
おなじみアプリケーションレベルのbuild.gradle
に
compile 'com.squareup.picasso:picasso:2.5.2'
と記述するだけです!最高ですね!!
オススメの記事
ほんきで学ぶAndroidアプリ開発入門 第2版 Android SDK 7/Android Studio 2.X対応
- 作者: 株式会社Re:Kayo-System
- 出版社/メーカー: 翔泳社
- 発売日: 2016/11/18
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
基本からしっかり身につくAndroidアプリ開発入門 Android Studio 2.x対応 プロが本気で教えるアプリ作りの基本「技」 (ヤフー黒帯シリーズ)
- 作者: 森洋之
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2016/07/29
- メディア: 単行本
- この商品を含むブログを見る
黒帯エンジニアが教えるプロの技術 Android開発の教科書 (ヤフー黒帯シリーズ)
- 作者: 筒井俊祐,里山南人,松田承一,笹城戸裕記,毛受崇洋
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2016/06/18
- メディア: 単行本
- この商品を含むブログを見る