我从网址下载图片并将其显示在ImageView
中。我需要以完整的原始尺寸下载图像。我试过Glide,Picasso和Universal Image Loader都没有成功。是否有任何图书馆或方法来实现这一目标?我甚至尝试制作自己的AsyncTask
来做这件事:
public class ImageLoader extends AsyncTask<Void, Void, Bitmap> {
@Override
protected Bitmap doInBackground(Void... params) {
try {
URL url = new URL(bundle.getString("selectedImage"));
HttpURLConnection conn =
(HttpURLConnection)url.openConnection();
conn.setReadTimeout(6000);
conn.setConnectTimeout(6000);
conn.setRequestMethod("GET");
conn.setDoInput(true);
conn.connect();
int respose = conn.getResponseCode();
InputStream is = conn.getInputStream();
BufferedInputStream bufferedInputStream = new
BufferedInputStream(is);
bitmap = BitmapFactory.decodeStream(bufferedInputStream);
return bitmap;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
但没有成功。有人有什么可以帮助我吗?
答案 0 :(得分:0)
1)尝试使用Volley库。 https://developer.android.com/training/volley/request.html#request-image
2)使用 WebView 代替 ImageView
答案 1 :(得分:0)
我不确定你的意思是&#34;它的完整原始大小&#34;。我只是通过下载来体验图像的自动缩放。
也许您可以仔细检查目标android:scaleType
上是否有适当的ImageView
。您可以在此处详细了解比例类型属性的不同值:http://developer.android.com/reference/android/widget/ImageView.ScaleType.html
如果你想平移图像,就像一个&#34;未缩放的&#34;浏览器中的网页(通常当图像大于屏幕时),您可能需要添加更多逻辑来管理它。也许它可能就像ScrollView
包裹你的ImageView
一样容易(当然会包装它的内容)。
答案 2 :(得分:0)
错误归结为照片桶给我一个按比例缩小的URL而不是我使用flikr并且在我的设备上我得到的图像几乎与我原来的相同(毕加索限制是2048x2048)但在其他设备上我似乎仍然得到1080 x 910图片,将进一步调查,但似乎答案是不使用照片桶