Android背景图片大小以像素为单位

我想在Android中为不同的分辨率创建背景图像。 所以我需要ldpi,mdpi,hdpi,xhdpi和xxhdpi的值(以像素为单位)。 重要的是图像不会模糊。

我已经阅读了有关多屏幕支持的文档,但是dp中有大小而不是像素。

Related of "Android背景图片大小以像素为单位"

没有完整的屏幕分辨率列表,ldpi,mdpi,hdpi,xhdpi和xxhdpi没有固定的像素值。 每个Android设备可能有不同的分辨率。 如果要填充所有分辨率,则必须创建太多图像。 如果你把它们放在你的应用程序中,它将使应用程序大小巨大。 也许更好的方法是使用合成图像作为背景。

尝试按照以下android图标graphy大小参考各种设备屏幕resolutin。

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 

根据android文档

mdpi是baseLine大小

在此处输入图像描述

我们可以用它来衡量所有其他尺度,这意味着如果mdpi(比例1)等于1 xhdpi(比例2)应该等于2,多重播放mdpi尺寸的比例值

所有尺寸宽x高像素

 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.0x比例的xxhdpi到图像*

  • xhdpi:640×960像素
  • hdpi:480×800像素
  • mdpi:320×480像素
  • ldpi:240×320像素

我认为在andorid java中将DP转换为像素是相当容易的我用我创建的这个函数来实现这一点

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

希望这对人们有所帮助,并且善意分享你对它的看法,因为我希望这种转换尽可能准确,谢谢你