用于 ldpi、mdpi、hdpi、xhdpi 显示器的 android 初始屏幕尺寸? - 例如:ldpi 为 1024X768 像素

Posted

技术标签:

【中文标题】用于 ldpi、mdpi、hdpi、xhdpi 显示器的 android 初始屏幕尺寸? - 例如:ldpi 为 1024X768 像素【英文标题】:android splash screen sizes for ldpi,mdpi, hdpi, xhdpi displays ? - eg : 1024X768 pixels for ldpi 【发布时间】:2012-11-09 08:12:20 【问题描述】:

我必须使用 phonegap 为 android 应用程序设计启动画面(加载时适合屏幕的图像)。我必须设计适合 ldpi、mdpi、hdpi、xhdpi 等 4 种屏幕类型的 4 种尺寸图像。谁能告诉我这些屏幕的确切尺寸(以像素为单位),以便我可以按照该尺寸进行设计?

示例答案:

ldpi - 1024X768 px
mdpi  - 111 X 156 px  

 We support ldpi, mdpi, hdpi and xhdpi displays; the following will define splash screens for each specific screen type.

<gap:splash src="splash/android/ldpi.png" gap:platform="android" gap:density="ldpi" />
<gap:splash src="splash/android/mdpi.png" gap:platform="android" gap:density="mdpi" />
<gap:splash src="splash/android/hdpi.png" gap:platform="android" gap:density="hdpi" />
<gap:splash src="splash/android/xhdpi.png" gap:platform="android" gap:density="xhdpi" />

【问题讨论】:

this 会帮助你 【参考方案1】:

Android 的初始屏幕尺寸

同时适用于 Cordova(又名 Phonegap)、React-Native 和所有其他开发平台

Format : 9-Patch PNG (recommended)

Dimensions

 - LDPI:
    - Portrait: 200x320px
    - Landscape: 320x200px
 - MDPI:
    - Portrait: 320x480px
    - Landscape: 480x320px
 - HDPI:
    - Portrait: 480x800px
    - Landscape: 800x480px
 - XHDPI:
    - Portrait: 720px1280px
    - Landscape: 1280x720px
 - XXHDPI
    - Portrait: 960x1600px
    - Landscape: 1600x960px
 - XXXHDPI 
    - Portrait: 1280x1920px
    - Landscape: 1920x1280px

注意: 不需要准备 XXXHDPI,由于 9-patch 图像的重复区域,也可能需要准备 XXHDPI 大小。另一方面,如果只使用纵向尺寸,则应用尺寸可能会更小。更多图片意味着需要更多空间。

注意

我认为所有设备都没有确切的尺寸。我用的是 Xperia Z 5"。如果你开发一个跨平台的 webview 应用程序,你应该考虑很多事情(屏幕是否有软键导航按钮等)。因此,我认为只有一个合适的解决方案。解决方案是 @ 987654321@(在下方找到 How to design a new splash screen 标题)。

    为上述屏幕尺寸创建初始屏幕为9-patch。使用 .9.png 后缀为您的文件命名 将以下行添加到您的 config.xml 文件中 如果需要,添加启动画面插件。 运行您的项目。

就是这样!

Cordova 特定代码要在 config.xml 中添加行以用于 9-patch 初始屏幕

<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="6000" />
<platform name="android">
    <splash src="res/screen/android/ldpi.9.png" density="ldpi"/>
    <splash src="res/screen/android/mdpi.9.png" density="mdpi"/>
    <splash src="res/screen/android/hdpi.9.png" density="hdpi"/>
    <splash src="res/screen/android/xhdpi.9.png" density="xhdpi"/> 
</platform>

在使用 non-9-patch 闪屏时在 config.xml 中添加行

<platform name="android">
    <splash src="res/screen/android/splash-land-hdpi.png" density="land-hdpi"/>
    <splash src="res/screen/android/splash-land-ldpi.png" density="land-ldpi"/>
    <splash src="res/screen/android/splash-land-mdpi.png" density="land-mdpi"/>
    <splash src="res/screen/android/splash-land-xhdpi.png" density="land-xhdpi"/>

    <splash src="res/screen/android/splash-port-hdpi.png" density="port-hdpi"/>
    <splash src="res/screen/android/splash-port-ldpi.png" density="port-ldpi"/>
    <splash src="res/screen/android/splash-port-mdpi.png" density="port-mdpi"/>
    <splash src="res/screen/android/splash-port-xhdpi.png" density="port-xhdpi"/>
</platform>

如何设计新的启动画面

我将描述一种使用这种方式创建正确启动画面的简单方法。假设我们正在设计一个 1280dp x 720dp - xhdpi(x-large)屏幕。我写了下面的例子;

在 Photoshop 中:文件 -> 在新对话框窗口中新建设置您的屏幕

宽度:720 像素 高度:1280 像素

我猜上述尺寸意味着分辨率为 320 像素/英寸。但要确保您可以在对话窗口中将分辨率值更改为 320。在这种情况下 像素/英寸 = DPI

恭喜...您有一个 720dp x 1280dp 的初始屏幕模板。

如何生成 9-patch 启动画面

在你设计好你的启动画面后,如果你想设计 9-Patch 启动画面,你应该在每一边插入 1 个像素的间隙。出于这个原因,您应该将画布尺寸的宽度和高度增加 +2 像素(现在您的图像尺寸为 722 x 1282 )。 我已经按照下面的指示在每一侧留下了 1 个像素的空白间隙。 使用 Photoshop 更改画布大小: - 在 Photoshop 中打开启动画面 png 文件 - 单击图层字段中“背景”名称旁边的锁定图标(留空而不是其他颜色,如白色),如果有如下所示: - 从图像菜单更改画布大小(宽度:720 像素至 722 像素,高度:1280 像素至 1282 像素)。现在,应该会在初始屏幕图像的每一侧看到 1 个像素的间隙。 然后你可以使用 C:\Program Files (x86)\Android\android-studio\sdk\tools\draw9patch.bat 来转换一个 9-patch 文件。为此,请在 draw9patch 应用程序上打开您的启动画面。您应该定义您的徽标和可扩展区域。请注意以下示例初始屏幕的黑线。黑线的粗细只有 1 px ;) 左侧和顶部的黑线定义了初始屏幕的必须显示区域。完全按照您的设计。右线和底线定义了可添加和可移除的区域(自动重复区域)。

就这么做: 在 draw9patch 应用程序上缩放图像的顶部边缘。单击并拖动鼠标以绘制线条。然后按 shift + 单击并拖动鼠标以擦除线条。

如果您开发跨平台应用程序(如 Cordova/PhoneGap),您可以在以下地址找到几乎所有 mabile OS 启动屏幕尺寸。点击查看Windows Phone、WebOS、BlackBerry、Bada-WAC 和Bada 初始屏幕尺寸。

https://github.com/phonegap/phonegap/wiki/App-Splash-Screen-Sizes

如果您需要 ios、Android 等应用图标大小,您可以visit here。

IOS

Format : PNG (recommended)

Dimensions

 - Tablet (iPad)
   - Non-Retina (1x)
     - Portrait: 768x1024px
     - Landscape: 1024x768px
   - Retina (2x)
     - Portrait: 1536x2048px
     - Landscape: 2048x1536px
 - Handheld (iPhone, iPod)
   - Non-Retina (1x)
     - Portrait: 320x480px
     - Landscape: 480x320px
   - Retina (2x)
     - Portrait: 640x960px
     - Landscape: 960x640px
 - iPhone 5 Retina (2x)
   - Portrait: 640x1136px
   - Landscape: 1136x640px
 - iPhone 6 (2x)
   - Portrait: 750x1334px
   - Landscape: 1334x750px
 - iPhone 6 Plus (3x)
   - Portrait: 1242x2208px
   - Landscape: 2208x1242px

【讨论】:

【参考方案2】:

适用于 Android 移动设备

LDPI- icon-36x36,splash-426x320(现在有正确的值)


MDPI- 图标 48x48,飞溅 470x320


HDPI- 图标 72x72,飞溅 - 640x480


XHDPI- 图标-96x96,飞溅- 960x720


XXHDPI- 图标 - 144x144

全部以像素为单位。

适用于 Android 平板设备

LDPI:
    Portrait: 200x320px
    Landscape: 320x200px
MDPI:
    Portrait: 320x480px
    Landscape: 480x320px
HDPI:
    Portrait: 480x800px
    Landscape: 800x480px
XHDPI:
    Portrait: 720px1280px
    Landscape: 1280x720px

【讨论】:

@Geobits:两者都以像素为单位。那是针对不同的分辨率。我没有看到任何混乱。奇怪!! 根据this,您为ldpi/mdpi/hdpi/xhdpi 指定的尺寸与dp 中的small/normal/large/xlarge 相对应。此外,如果它们 像素大小,它们应该是0.75/1/1.5/2 的比例。你有我没有看到的这些尺寸的来源吗? @NijilNair : 为什么平板上的图片分辨率比手机上的小?!不应该反过来吗?例如,我很惊讶“手机 ldpi:426x320”,然后是“平板电脑 ldpi:320 x 200”……似乎根本不合逻辑。感谢您的回答! @Phalanx :检查此链接。 developer.android.com/guide/practices/…. 你确定 LDPI 图标不是 36x36 吗?【参考方案3】:

由于 Android 没有设置标准尺寸,因此可以有任意数量的不同屏幕尺寸,因此您可以使用 Google 提供的最小屏幕尺寸作为指导。

根据 Google 的统计,大多数 ldpi 显示器是小屏幕,而大多数 mdpi、hdpi、xhdpi 和 xxhdpi 显示器是正常尺寸的屏幕。

xlarge 屏幕至少为 960dp x 720dp 大屏幕至少为 640dp x 480dp 普通屏幕至少为 470dp x 320dp 小屏幕至少为 426dp x 320dp

您可以在 Google 的仪表板 available here 上查看设备相对大小的统计信息。

有关多个屏幕的更多信息可以找到here。

9 补丁图片

最好的解决方案是创建一个九块图像,这样图像的边框可以拉伸以适应屏幕的大小,而不会影响图像的静态区域。

http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch

【讨论】:

能否也包括 xxhdpi? (如果存在) Google 将 xxhdpi 定义为 ~480 DPI。据我所知,他们没有为此提供最小屏幕尺寸。 为什么会有这么多赞? xlarge != xhdpi,他们测量的是两种完全不同的东西。这些 dp 大小是针对大小桶列出的,而不是密度。 @geobits 看看这个问题。他正在询问对于他支持的每个密度,他的初始屏幕应该是什么尺寸。由于 Android 没有设置标准尺寸,因此可以有任意数量的不同尺寸,我们可以给出的最接近的正确答案是由 Google 提供的最小屏幕尺寸。如果您点击答案中的链接,您可以阅读更多相关信息。 我明白你在说什么,但这不是你的回答所说的。如果是这样,我什至不会发表评论。他要了一份尺码表,而你只是根据别的东西给出了一份清单,没有任何解释。无论您是否链接到文档,都应该对其进行编辑。【参考方案4】: LDPI:纵向:200 X 320 像素。横向:320 X 200 像素。 MDPI:纵向:320 X 480 像素。横向:480 X 320 像素。 HDPI:纵向:480 X 800 像素。横向:800 X 480 像素。 XHDPI:纵向:720 X 1280 像素。横向:1280 X 720 像素。 XXHDPI:纵向:960 X 1600 像素。横向:1600 X 960 像素。 XXXHDPI:纵向:1280 X 1920 像素。横向:1920 X 1280 像素。

【讨论】:

我读到的所有地方 xhdpi 都只是 mdpi 的两倍,所以根据 xhdpi 应该是 640 x 960,但你写的是 720x1280。你能解释一下它是720x1280吗?你用的是哪个公式? xxxhdpi 不是 1440x2560 吗?根据此列表,其中 Google Pixel XL 列为 xxxhdpi material.io/resources/devices【参考方案5】: Xlarge 屏幕至少为 960dp x 720dp 列表项大屏幕至少为 640dp x 480dp 列表项普通屏幕至少为 470dp x 320dp 列表项小屏幕至少为 426dp x 320dp

使用它来创建您的图像并将它们放在特定的资源文件夹中。

【讨论】:

【参考方案6】:

只要使用这个网站:http://ticons.fokkezb.nl :)

它让您更轻松,并直接生成正确的尺寸

【讨论】:

这个网站似乎是 iOS 图片,而不是 Android。 我在android上用过,对效果很满意;à【参考方案7】:

xlarge 屏幕至少为 960dp x 720dp 布局-xlarge 10" 平板电脑(720x1280 mdpi、800x1280 mdpi 等)

大屏幕至少是 640dp x 480dp 中间平板电脑,例如 Streak (480x800 mdpi)、7 英寸平板电脑 (600x1024 mdpi)

普通屏幕至少为 470dp x 320dp 布局典型手机屏幕 (480x800 hdpi)

小屏幕至少为 426dp x 320dp 典型手机屏幕(240x320 ldpi、320x480 mdpi 等)

【讨论】:

以上是关于用于 ldpi、mdpi、hdpi、xhdpi 显示器的 android 初始屏幕尺寸? - 例如:ldpi 为 1024X768 像素的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法从大型图像创建 xxhdpi、xhdpi、hdpi、mdpi 和 ldpi 可绘制对象?

将图像转换为DPI(每英寸点数)大小

android屏幕密度规律及dp px转换

Android图标大小[重复]

适配方案适配的基础知识之单位分辨率viewport

Android屏幕适配