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 に答える