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 背景图像大小(以像素为单位)的主要内容,如果未能解决你的问题,请参考以下文章

使用 JavaScript 获取 CSS 背景图像的大小?

如何实现mapbox-gl的tile源码

As3 影片剪辑背景图像大小

JavaScript:以像素为单位获取背景位置

iOS:以像素为单位获取显示的图像大小

带有背景位置的背景大小不会缩放位置?