在具有高分辨率的Android设备上不会显示下载的图像

时间:2014-03-25 14:56:13

标签: android image download drawable

分辨率高于1280x720的设备上不会显示已下载的图像。我尝试了不同的DPI图像。怎么解决这个?提前致谢。我使用这样的代码:

public class ViewActivity extends Activity {

private TextView txtUrl;
private ImageView imgView;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    // Веб-адрес картинки
    String url = "http://somesite.com/images/picture.jpg";
    txtUrl = (TextView) findViewById(R.id.txtUrl);
    txtUrl.setText(url);

    imgView = (ImageView) findViewById(R.id.imgView);

    try {
        imgView.setImageDrawable(grabImageFromUrl(url));
    } catch (Exception e) {
        txtUrl.setText("Error: Exception");
    }
}

private Drawable grabImageFromUrl(String url) throws Exception {
    return Drawable.createFromStream(
            (InputStream) new URL(url).getContent(), "src");
}

}

1 个答案:

答案 0 :(得分:1)

我认为这是OutOfMemory错误。 你必须调整图像大小。 将drawable转换为Bitmap

Bitmap bitmap = ((BitmapDrawable)grabImageFromUrl(url)).getBitmap();

并使用此解决方案调整大小:

Resizing a Bitmap