安卓背景图片大小(像素)

14

我希望在Android中为不同的分辨率创建背景图片,因此需要知道ldpi、mdpi、hdpi、xhdpi和xxhdpi的像素值。重要的是,该图片不会模糊。

我已经阅读了关于多屏幕支持的文档,但其中给出的尺寸是以dp为单位而非像素。


在Android设备中有各种不同的分辨率。如果您这样做,就必须创建数百个图像。 - mihail
我认为你可以动态计算窗口大小并相应地设置背景。 - Prinz Km
5个回答

72

尝试按照以下Android图标尺寸参考为不同的设备屏幕分辨率进行设计。

                            ldpi     mdpi     hdpi     xhdpi    xxhdpi     xxxhdpi
Launcher And Home           36*36    48*48   72*72    96*96    144*144    192*192
Action Bar And Tab          24*24    32*32   48*48    64*64    96*96      128*128
Notification                18*18    24*24   36*36    48*48    72*72      96*96
Background                  320*426  320*470 480*640  720*1280 1080*1920  1440*2560

7
请告诉我这些信息的来源。背景尺寸在实际设备上似乎没有正确应用。 - bhaskarc
这些是为手机设计的,您可以在4.2英寸到10英寸的平板电脑上找到720 x 1280的手机。因此,实际上您必须为手机、平板手机、7英寸和10英寸的平板电脑使用不同的背景图片。 - Pedro Teran
我已经独立得到了几乎相同的测量结果,除了两个小差异。如果你按照正确的密度进行缩放,mdpi 的宽度应该是 360,hdpi 的宽度应该是 540。 - Galya
分辨率应该是多少呢?例如,1440 是宽度,2560 是高度。好的,那么分辨率呢? - Shafizadeh

9

屏幕分辨率没有完整的清单,对于ldpi、mdpi、hdpi、xhdpi和xxhdpi,没有固定的像素值。每个Android设备的分辨率可能都不同。如果您想填充所有分辨率,就必须创建太多的图像。如果将它们放在应用程序中,这将使应用程序大小变得巨大。也许更好的方法是使用复合图像作为背景。


你说得完全正确。谢谢。我会制作一个背景图片并将组件添加为视图。 - JavaForAndroid
4
能否请您解释什么是合成图像,以及如何实现它?谢谢。 - blueprintchris

8
根据安卓文档,mdpi是基准尺寸。我们可以用它来测量其他所有比例尺寸,这意味着如果 mdpi (比例尺寸1) 等于1,那么 xhdpi (比例尺寸2) 就应该等于2,按比例值乘以 mdpi 尺寸。所有尺寸的宽度和高度以像素为单位。请参考以下链接查看图片:enter image description here
xxxhdpi: 1280x1920 px  // 4x
xxhdpi : 960x1440 px   // 3x
xhdpi  : 640x960 px    // 2x
hdpi   : 480x800 px    // 1.5 x at least 480x720  
mdpi   : 320x480 px    // baseline = 1x
ldpi   : 240x360 px    // .75 x

请注意,我将使用3.0倍缩放率添加xxhdpi图像。


7
  • xhdpi:640x960像素
  • hdpi:480x800像素
  • mdpi:320x480像素
  • ldpi:240x320像素

0

我认为将DP转换为像素在Android Java中相当容易,我使用我创建的以下函数实现:

int getPixels(Context context, float dp) {
    return (int) (context.getResources().getDisplayMetrics().density * dp + .5f);
}

希望这对大家有所帮助,也请分享您的看法,因为我希望能尽可能准确地进行转换,谢谢。

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