Picassoライブラリを使用して、ファイルシステムから画像をロードできますか?
startActivityForResult
を使用して、ユーザーがギャラリーから写真を選択し、選択した画像を表示するようにします。
イメージファイルシステムUri
を取得するための作業コードは既にありますが、Picasso.load()
メソッドを取得できません。
もちろんできます。実際にはかなり簡単です:
File f = new File("path-to-file/file.png")
または
File f = new File(uri)
Picasso.with(getActivity()).load(f).into(imageView);
また
Picasso.with(getActivity()).load(uri).into(imageView);
働く
はい、できます。
試してください:
Picasso.with(context).load(new File(YOUR_FILE_PATH)).into(imageView);
編集
代わりに.load(YOUR_URI)
を呼び出すこともできます。
ソースコードを見ると、file:
文字列プレフィックスをイメージパスに追加して、ファイルシステムからイメージをロードできることもわかりました。例えば:
file:path/to/your/image
また、startActivityForResultを使用すると、次のような結果が得られます。
Uri imageContent = data.getData();
次に、Cursor
を作成してイメージパスを照会する必要なく、Picasso.with(getContext()).load(imageContent.toString).into(imageView);
を直接呼び出すことができます。
これを試して:
Picasso.with(context)
.load("file://"+path) // Add this
.config(Bitmap.Config.RGB_565)
.fit().centerCrop()
.into(imageView);
私にぴったりです。
> Picasso.get().load(R.drawable.landing_screen).into(imageView1);
> Picasso.get().load("file:///Android_asset/DvpvklR.png").into(imageView2);
> Picasso.get().load(new File(...)).into(imageView3);
基本的に、Context
、image´s path
、およびImageView
Containerの3つのものが必要です。
Picasso.with(context).load("/files/my_image.jpg").into(myImageView);
しかし、より多くのオプションを利用できます:
.resize(20, 20)
.centerCrop()
.placeholder(R.drawable.user_placeholder)
.error(R.drawable.user_placeholder_error)
等...