android 設置桌面背景圖片適應屏幕大小


今天做demo,設置桌面每天自動更新背景,但是桌面的背景都是被系統裁剪過的圖片,上網百度了一下,有個過時的方法,改進后果然有用了!

		      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"/>

  好了 ,菜鳥大功告成。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM