Android 背景图像大小(以像素为单位)
Posted
技术标签:
【中文标题】Android 背景图像大小(以像素为单位)【英文标题】:Android background image size in pixel 【发布时间】:2013-11-21 09:55:14 【问题描述】:我想在 android 中为不同的分辨率创建背景图像。所以我需要 ldpi、mdpi、hdpi、xhdpi 和 xxhdpi 的值(以像素为单位)。重要的是图像不会模糊。
我已经阅读了关于多屏幕支持的文档,但是尺寸是 dp 而不是像素。
【问题讨论】:
您在安卓设备中有多种分辨率。如果你这样做,你将不得不创建数百张图像 我认为您可以动态计算窗口大小并相应地设置背景。 【参考方案1】:请尝试以下各种设备屏幕分辨率的 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
【讨论】:
能否告诉我这些信息的来源。背景尺寸似乎无法在实际设备上正确应用 @Haresh Chhelana 我有一个 LG Tab 7,mdpi,800x1200,480x640 背景应该如何正确适配? 这是专为您可以找到的手机和 720 x 1280 手机(从 4.2 英寸到 10 英寸平板电脑)设计的。所以实际上你必须为手机、平板手机、平板电脑 7 和 10 使用不同的背景图片 我已经独立地进行了几乎相同的测量,除了两个小的差异。如果您根据密度正确缩放,则 mdpi 的宽度应为 360,hdpi 的宽度应为 540。 分辨率应该是多少?例如,1440
是宽度,2560
是高度。好的,那么分辨率呢?【参考方案2】:
没有完整的屏幕分辨率列表,ldpi、mdpi、hdpi、xhdpi 和 xxhdpi 没有固定的像素值。每个安卓设备可能有不同的分辨率。如果要填充所有分辨率,则必须创建太多图像。如果你把它们放在你的应用程序中,它会使应用程序变得巨大。也许更好的方法是使用合成图像作为背景。
【讨论】:
你是绝对正确的。谢谢你。我将制作背景图像并将组件添加为视图。 你能解释一下什么是合成图像以及它是如何实现的吗?谢谢【参考方案3】:根据安卓文档
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 比例添加到图像*
【讨论】:
【参考方案4】: xhdpi: 640x960 像素 hdpi:480x800 像素 mdpi:320x480 像素 ldpi:240x320 像素【讨论】:
【参考方案5】:我认为在andorid java中将DP转换为像素相当容易,我正在使用我创建的这个函数来实现这一点
int getPixels(Context context, float dp)
return (int) (context.getResources().getDisplayMetrics().density * dp + .5f);
希望这对人们有所帮助, 并请分享您对此的看法,因为我希望此转换尽可能准确,谢谢
【讨论】:
以上是关于Android 背景图像大小(以像素为单位)的主要内容,如果未能解决你的问题,请参考以下文章