代码之家  ›  专栏  ›  技术社区  ›  Mervin

背景图像的大小,以支持所有的中型和大型android屏幕

  •  1
  • Mervin  · 技术社区  · 14 年前

    我在写一个应用程序,我希望我的一个活动有背景,

    但我的设计师问我什么尺寸的墙纸应该是,我不想在所有的屏幕尺寸低,正常,高dpi很多图像。

    要在所有这些屏幕上获得一个漂亮的屏幕填充图形背景,最节省空间的方法是什么?

    2 回复  |  直到 14 年前
        1
  •  1
  •   keno    14 年前

    Icon Design guidelines 对于图标,以及 Range of Screens “区域 Supporting Multiple Screens

    对于背景图像,请务必考虑状态栏的尺寸。

    您可以将资源放在适当的drawable mdpi、drawable hdpi和drawable ldpi文件夹中,它们将得到适当的使用。

        2
  •  0
  •   A. Masson    10 年前

        mBackgroundGraphic = BitmapFactory.decodeResource(getResources(), R.drawable.background);
        mBackgroundGraphic = getResizedBitmap(mBackgroundGraphic);
    
    public Bitmap getResizedBitmap(Bitmap bm) {
        int width = bm.getWidth();
        int height = bm.getHeight();
        int displayWidth = mDisplay.getWidth();
        int displayHeight = mDisplay.getHeight();
        float scaleWidth = ((float) displayWidth) / width;
        float scaleHeight = ((float) displayHeight) / height;
    
        // Create a matrix for the manipulation
        Matrix matrix = new Matrix();
    
        // Resize the bit map
        matrix.postScale(scaleWidth, scaleHeight);
    
        // Return the new stretched Bitmap
        return Bitmap.createBitmap(bm, 0, 0, width, height, matrix, false);
    }