使用RelativeLayout动态设置背景,加载sd卡图片铺满整个屏幕。
图片的尺寸不定,可能有点是1000x1000,或者800x750等等这样
String photo="/mnt/sdcard/photo.jpg";
如果我这样写:
layout_photo.setBackgroundDrawable(Drawable.createFromPath(photo));
显示的结果是这样:

看到有拉伸
如果我这样写:
Bitmap bm = BitmapFactory.decodeFile(photo);
DisplayMetrics metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);
int width = metric.widthPixels; // 屏幕宽度(像素)
int height = metric.heightPixels; // 屏幕高度(像素)
Bitmap bm1 = Bitmap.createBitmap(bm, 0, 0, width, height);
Drawable bd = new BitmapDrawable(getResources(), bm1);
layout_photo.setBackgroundDrawable(bd);
显示的结果是这样:

只能看到图片一部分,但是没有拉伸。
-----------------------------------------------------------------------------------------
我想请教那位高手,有没有方法:能够将整个图片显示在屏幕等比例缩放不拉伸,看起来很自然的。谢谢啦