使用任何图像加载库将完整图像从URL加载到图像视图中

时间:2015-08-11 19:27:59

标签: android image picasso universal-image-loader android-glide

我从网址下载图片并将其显示在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;
    }

但没有成功。有人有什么可以帮助我吗?

3 个答案:

答案 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图片,将进一步调查,但似乎答案是不使用照片桶