【问题标题】:Avoid Wallpaper being Stretch on Some Devices避免墙纸在某些设备上被拉伸
【发布时间】:2016-09-02 19:07:28
【问题描述】:

您好,我是 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);

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

任何帮助将不胜感激,在此先感谢

【问题讨论】:

  • 很高兴知道您在哪些设备上遇到该问题以及它们的 android 版本。拥有图像本身以重现问题也很棒。
  • 华为设备 :(
  • 你能再发一些代码吗
  • 还有什么代码?这就是我设置壁纸的全部内容!
  • @JavaNerd 你没有回答我的问题

标签: android android-wallpaper


【解决方案1】:

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

【讨论】:

  • 怎么样?我的意思是你想说什么?
猜你喜欢
  • 1970-01-01
  • 2016-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-17
  • 1970-01-01
  • 2015-02-15
  • 2011-09-06
相关资源
最近更新 更多