我使用了以下代码,能够获取图像但是当我尝试将其放在布局背景(线性布局)上时,图像质量会降低,并且会显示模糊的图像。
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);
答案 0 :(得分:1)
看起来您正在尝试将该图像设置为LinearLayout的背景。我将假设这个背景大致与手机屏幕的大小相同。
我刚尝试了facebook网址,我回来的图片尺寸是180x195。
考虑到我所知道的最小的Android屏幕是240x320,每张Android手机上的图像都会被炸毁。这将导致图像看起来模糊,因为图像的分辨率远低于Android屏幕的分辨率。
我建议您为背景找到更高分辨率的图像。