0

我使用了以下代码,能够获取图像,但是当我尝试将其放在布局背景(线性布局)上时,图像质量会降低并且显示图像模糊。

URL img_value = null;

    try {
        img_value = new URL("http://graph.facebook.com/"+userId+"/picture?type=large");

    } catch (MalformedURLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    Bitmap mIcon1 = null;
    try {
        BitmapFactory.Options opt=new BitmapFactory.Options(); 
        opt.inSampleSize=1;
        // mIcon1 = BitmapFactory.decodeFile(pathoffile,opt);

        mIcon1 = BitmapFactory.decodeStream(img_value.openConnection().getInputStream(),null,opt);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    ll=(LinearLayout) findViewById(R.id.ll);
    BitmapDrawable background = new BitmapDrawable(mIcon1);
    ll.setBackgroundDrawable(background);
4

1 回答 1

1

看起来您正试图将该图像设置为 LinearLayout 的背景。我将假设这个背景大约是手机屏幕的大小。

我刚刚尝试了那个 facebook URL,我得到的图像大小是 180x195。

考虑到我所知道的最小的 Android 屏幕是 240x320,因此必须在每部 Android 手机上放大该图像。这将导致图像看起来模糊,因为图像的分辨率远低于 Android 屏幕的分辨率。

我建议您为您的背景找到更高分辨率的图像。

于 2012-06-25T02:21:50.457 回答