116

我必须使用 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" />
4

7 回答 7

153

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

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

注意

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

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

就是这样!

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>

使用-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 补丁启动画面

设计完启动画面后,如果要设计 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 + 单击并拖动鼠标以擦除线条。

样本 9-patch 设计

如果您开发跨平台应用程序(如 Cordova/PhoneGap),您可以找到以下地址几乎所有 mabile OS 启动屏幕尺寸。单击以获取Windows PhoneWebOSBlackBerryBada-WACBada初始屏幕尺寸。

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

如果您需要 IOS、Android 等应用程序图标大小,您可以访问此处

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
于 2014-11-25T11:47:06.360 回答
108

适用于 Android 移动设备

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


MDPI-icon-48x48,splash-470x320


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


XHDPI- icon-96x96,splash- 960x720


XXHDPI- 图标- 144x144

全部以像素为单位。

适用于 Android 平板设备

LDPI:
    Portrait: 200x320px
    Landscape: 320x200px
MDPI:
    Portrait: 320x480px
    Landscape: 480x320px
HDPI:
    Portrait: 480x800px
    Landscape: 800x480px
XHDPI:
    Portrait: 720px1280px
    Landscape: 1280x720px
于 2013-08-09T06:22:05.897 回答
102

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

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

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

您可以在此处提供的 Google 仪表板上查看设备相对大小的统计信息。

可以在此处找到有关多个屏幕的更多信息。

9 补丁图像

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

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

于 2012-11-21T05:54:42.770 回答
34
  • 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 像素。
于 2015-02-01T07:46:06.807 回答
10
  • Xlarge 屏幕至少为 960dp x 720dp
  • 列表项大屏幕至少为 640dp x 480dp
  • 列表项普通屏幕至少为 470dp x 320dp
  • 列表项小屏幕至少为 426dp x 320dp

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

于 2012-11-21T05:51:34.183 回答
7

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

它使您更容易,并直接生成正确的尺寸

于 2014-08-22T19:27:21.540 回答
2

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 等)

于 2013-05-10T09:41:27.517 回答