避免在某些设备上壁纸被拉伸

3

你好,我完全是新手,在学习Android开发。目前我正在学习如何设置主屏幕壁纸,但是我遇到了一些问题:在某些设备上,我的壁纸会被拉伸。

这个问题很奇怪,当我从我的应用程序设置壁纸时,关闭我的应用程序并回到主屏幕时,壁纸不会被拉伸。但是突然之间,在眨眼或者一秒钟内,它就会被拉伸,并且将近一半的图像都显示在屏幕上!


我尝试过的代码

 DisplayMetrics metrics = new DisplayMetrics();
                      context.getWindowManager().getDefaultDisplay().getMetrics(metrics);                         

 int height = metrics.heightPixels;

 int width = metrics.widthPixels;

 Bitmap originalBitmap = BitmapFactory.decodeResource
                            (context.getResources(), id);

 Bitmap bitmap = Bitmap.createScaledBitmap(originalBitmap, width, height, true);

 WallpaperManager wallpaperManager = WallpaperManager.getInstance(context);
 wallpaperManager.setWallpaperOffsetSteps(1, 1);
 wallpaperManager.suggestDesiredDimensions(width, height);
 wallpaperManager.setBitmap(bitmap);
 Toast.makeText(MainActivity.mainActivity, "Wallpaper set", Toast.LENGTH_SHORT).show();
 Log.e("xxx",""+width+" & "+height);

我在某些设备上遇到了这个问题,而不是所有设备都有这个问题!

任何帮助将不胜感激,提前致谢。


华为设备 :( - Java Nerd
你能贴出更多的代码吗? - W4R10CK
@JavaNerd,你没有回答我的问题。 - Divers
@Divers 我已经回答了你的问题“华为设备 :(”,它们是Android 4.0+,这就是我能回答的。 - Java Nerd
你能分享一些截图吗? - Hitesh Sahu
显示剩余3条评论
1个回答

0

你尝试过在位图的宽高计算中包含dp(每英寸点数)吗?


怎么样?我的意思是你想表达什么? - Java Nerd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接