【问题标题】:Android setting wallpaper gone wrongAndroid设置壁纸出错了
【发布时间】:2012-02-11 17:53:14
【问题描述】:

所以我很久以前就在开发壁纸更换器并发布了它。过了一会儿,我开始收到评论,壁纸没有正确调整大小。我也试过不同尺寸的鸸鹋,它们是对的。我正确缩放位图等。但不知何故,android倾向于将壁纸重新缩放得更大!有没有办法避免这种情况? 我的代码:

Display display = parent.getWindowManager().getDefaultDisplay(); 
                    int width = display.getWidth();
                    int height = display.getHeight();
                    Bitmap scaled = Bitmap.createScaledBitmap(wallpaper, width, height, true);
                WallpaperManager wm = WallpaperManager.getInstance(getContext());
                wm.setBitmap(scaled);

我也一直在尝试其他方法,但似乎没有任何帮助,即使我事后检查重新调整的壁纸尺寸是否合适等等。:( 有什么想法吗?

【问题讨论】:

  • 我记得不久前读过一些关于墙纸管理器尝试自动调整图像大小的文章...您可能想四处寻找有关此的文章。
  • 查看这篇文章:stackoverflow.com/questions/2010399/… 了解壁纸的正确尺寸。
  • 我有合适的网站,但正如 Max 所说“壁纸管理器试图自动调整图像大小”问题是,我可以避免这种情况吗?

标签: java android bitmap resize wallpaper


【解决方案1】:

我想您可以使用WallpaperManager.getDesiredMinimumWidth()WallpaperManager.getDesiredMinimumHeight() 指定的尺寸而不是显示尺寸来调整壁纸的大小。这样,即使是自定义家庭应用程序设置的要求(如设备制造商和/或服务提供商可能设置的要求)也将得到尊重,这意味着您的应用程序具有(更大)的兼容性。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,调整大小后壁纸大小相同,但分辨率不同。

    就我而言,代码解决了问题:

    DisplayMetrics metrics = new DisplayMetrics();
            getWindowManager().getDefaultDisplay().getMetrics(metrics);
    
            int height = metrics.heightPixels;
            int width = metrics.widthPixels;
    
            Bitmap bitmap = Bitmap
                    .createScaledBitmap(whatever, width, height, true);
    

    【讨论】:

      【解决方案3】:

      我必须创建叠加图像。

      1. 创建一个大小为WallpaperManager.getDesiredMinimumWidth() x WallpaperManager.getDesiredMinimumHeight()的空白图片

      2. 使用Display display = getWindowManager().getDefaultDisplay();bmp = Bitmap.createScaledBitmap(bmp, display.getWidth(), display.getHeight(), false);将位图调整为屏幕大小

      3. 将壁纸覆盖在空白图像的中心。并将叠加设置为墙纸。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-06
        • 2017-09-15
        • 2021-03-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多