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

时间:2016-09-02 19:07:29

标签: android android-wallpaper

你好,我是Android Dev的新手。并学习我自己的。我正在学习设置一个主屏幕壁纸,我一直面临着一个问题,即我的壁纸在某些设备上伸展(不是全部)。

问题很奇怪,当我从我的应用程序设置壁纸,关闭我的应用程序并进入主屏幕时,壁纸没有处于拉伸状态但突然在一眨眼间或一秒钟它在屏幕上拉伸或者你可以说它扩展了自己,在屏幕上显示近一半的图像!

我正在尝试的代码

 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);

我在某些设备上遇到此问题,而不是在所有设备上!

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

1 个答案:

答案 0 :(得分:0)

您是否尝试在位图的宽度高度计算中包含dp(每英寸点数)?