我想在Android中为不同的分辨率创建背景图片。所以我需要ldpi,mdpi,hdpi,xhdpi和xxhdpi的值(以像素为单位)。重要的是图像不会模糊。
我已经阅读了有关多屏支持的文档,但dp中有大小而不是像素。
答案 0 :(得分:71)
请尝试按照以下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
答案 1 :(得分:9)
没有完整的屏幕分辨率列表,ldpi,mdpi,hdpi,xhdpi和xxhdpi没有固定的像素值。每个Android设备可能有不同的分辨率。如果要填充所有分辨率,则必须创建太多图像。如果你把它们放在你的应用程序中,它将使应用程序大小巨大。也许更好的方法是使用合成图像作为背景。
答案 2 :(得分:8)
根据android文档
mdpi 是基线大小
我们可以用它来衡量所有其他尺度,这意味着如果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添加到图像*
答案 3 :(得分:7)
答案 4 :(得分:0)
我认为在Andorid Java中将DP转换为像素非常容易,我使用我创建的此功能即可实现
int getPixels(Context context, float dp) {
return (int) (context.getResources().getDisplayMetrics().density * dp + .5f);
}
希望这对人们有帮助, 并请与我们分享您的看法,因为我希望此转换尽可能准确,谢谢