背景图铺满屏幕的方法
1、 第一种:先获得bitmap,然后再利用这个bitmap,使用createscaledbitmap进行缩放,其中的参数是希望得到的位图的尺寸
代码如下所示:
//获得位图的资源
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),ID);
// 绘图
//注意这里的getWidth和getHeight方法是属于View对象的,返回这个View的长和高
Bitmap mBitmap=Bitmap.createScaledBitmap(bitmap,getWidth(),getHeight(),true);
canvas.drawBitmap(mBitmap,0,0, null);
以上做法可能是一个不安全的做法,其实我们可以使用DisplayMetrics获取手机屏幕的分辨率,进而进行安全的缩放。
代码如下所示:
首先是获得手机屏幕规格,包括返回屏幕的宽和高。
注意这里的getWindowManager()方法是Activity的方法,所以这个方法是在Activity对象中调用的。
//获取手机屏幕的规格
public int getPhoneWidth(){
DisplayMetricsmetrics = new DisplayMetrics();
//获取手机屏幕规格
getWindowManager().getDefaultDisplay().getMetrics(metrics);
//获取绝对宽度,以像素为单位
int phoneWidth = metrics.widthPixels;
return phoneWidth;
}
public int getPhoneHeight(){
DisplayMetricsmetrics = new DisplayMetrics();
//获取手机屏幕规格
getWindowManager().getDefaultDisplay().getMetrics(metrics);
//获取绝对宽度,以像素为单位
int phoneHeight = metrics.heightPixels;
return phoneHeight;
}