android 設定案頭背景圖片適應螢幕大小
今天設定案頭每天自動更新背景,但是案頭的背景都是被系統裁剪過的圖片,後來找了這個過時的方法,改進後果然有用了!
Bitmap bmp=BitmapFactory.decodeResource
(getResources(), bg[DailyBg]);
try
{
// super.setWallpaper(bmp);
WallpaperManager instance = WallpaperManager.getInstance(ChangeBgImage.this);
// int desiredMinimumWidth = getWindowManager().getDefaultDisplay().getHeight(); //方法已經過時
// int desiredMinimumHeight = getWindowManager().getDefaultDisplay().getHeight();//方法已經過時
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int desiredMinimumWidth = dm.widthPixels;
int desiredMinimumHeight = dm.heightPixels;
Log.v("ss",""+desiredMinimumWidth);
Log.v("ss",""+desiredMinimumHeight);
instance.suggestDesiredDimensions(desiredMinimumWidth, desiredMinimumHeight);
instance.setBitmap(bmp);
Toast.makeText(ChangeBgImage.this,"壁紙設定成功",Toast.LENGTH_SHORT).show();
}
catch (IOException e)
{
e.printStackTrace();
}
}
就是在擷取螢幕大小的地方老方法已經被注釋了,用了新的方法擷取了螢幕的大小。
對了還要在資訊清單檔裡將許可權加上,這點很重要,我找了半天才發現,suggestDesiredDimensions方法需要加許可權
<uses-permission android:name="android.permission.SET_WALLPAPER_HINTS"/>
好了 ,菜鳥大功告成
Android設定案頭背景圖片的方法
1.設定案頭背景圖片的方法
Resources res=getResources();
BitmapDrawable bmpDraw=(BitmapDrawable)res.getDrawable(R.drawable.icon);
Bitmap bmp=bmpDraw.getBitmap();
try{
setWallpaper(bmp);
}catch(IOException e) {
e.printStackTrace();
}
2.在manifest中增加設定案頭的許可權
[xhtml] view plaincopy
<uses-permission android:name="android.permission.SET_WALLPAPER" />