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"/>
好了 ,菜鸟大功告成。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。