我想在 Android 中为不同的分辨率创建背景图像。所以我需要 ldpi、mdpi、hdpi、xhdpi 和 xxhdpi 的值(以像素为单位)。重要的是图像不会模糊。
我已经阅读了有关多屏幕支持的文档,但是 dp 中有大小而不是像素。
我想在 Android 中为不同的分辨率创建背景图像。所以我需要 ldpi、mdpi、hdpi、xhdpi 和 xxhdpi 的值(以像素为单位)。重要的是图像不会模糊。
我已经阅读了有关多屏幕支持的文档,但是 dp 中有大小而不是像素。
尝试按照以下各种设备屏幕分辨率的 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
没有完整的屏幕分辨率列表,ldpi、mdpi、hdpi、xhdpi 和 xxhdpi 没有固定的像素值。每个安卓设备可能有不同的分辨率。如果要填充所有分辨率,则必须创建太多图像。如果你把它们放在你的应用程序中,它会使应用程序变得巨大。也许更好的方法是使用合成图像作为背景。
根据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
** 注意我将 xxhdpi 与 3.0x 比例添加到图像*
我认为在andorid java中将DP转换为像素相当容易我用我创建的这个函数来实现这个
int getPixels(Context context, float dp) {
return (int) (context.getResources().getDisplayMetrics().density * dp + .5f);
}
希望这对人们有所帮助,并请分享您对此的看法,因为我希望尽可能准确地进行此转换,谢谢