我必须使用 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" />
最佳答案
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,也可能是 XXHDPI 大小,因为 9-patch 图像的重复区域。另一方面,如果只使用纵向尺寸,则应用尺寸可能会更小。更多图片意味着需要更多空间。
注意
我认为所有设备都没有确切的尺寸。我用的是 Xperia Z 5"。如果你开发一个跨平台的 webview 应用程序,你应该考虑很多事情(屏幕是否有软键导航按钮等)。因此,我认为只有一个合适的解决方案。解决方案是 to prepare a 9-patch splash screen (在下面找到
How to design a new splash screen
标题)。而已!
Cordova 特定代码将在 config.xml 中添加行以用于 9 补丁启动屏幕
<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)屏幕。我写了下面的例子;
宽度:720 像素
高度:1280 像素
我猜上述尺寸意味着分辨率为 320 像素/英寸。但要确保您可以在对话窗口中将分辨率值更改为 320。在这种情况下 像素/英寸 = DPI
恭喜...您有一个 720dp x 1280dp 的初始屏幕模板。
如何生成 9 补丁启动画面
设计完启动画面后,如果要设计 9-Patch 启动画面,则应在每一侧插入 1 个像素间隙。出于这个原因,您应该将 Canvas 尺寸的宽度和高度增加 +2 像素(现在您的图像尺寸为 722 x 1282 )。
我已经按照下面的指示在每一侧留下了空白的 1 像素间隙。
使用 Photoshop 更改 Canvas 大小:
- 在 Photoshop 中打开启动画面 png 文件
- 单击图层字段中“背景”名称旁边的锁定图标(保留空白而不是其他颜色,如白色),如果有如下所示:
- 从图像菜单更改 Canvas 大小(宽度:720 像素至 722 像素,高度:1280 像素至 1282 像素)。现在,应该在初始屏幕图像的每一侧看到 1 个像素的间隙。
然后你可以使用 C:\Program Files (x86)\Android\android-studio\sdk\tools\draw9patch.bat 来转换一个 9-patch 文件。为此,请在 draw9patch 应用程序上打开您的启动画面。您应该定义您的 Logo 和可扩展区域。请注意以下示例初始屏幕的黑线。黑线的粗细只有 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
关于用于 ldpi、mdpi、hdpi、xhdpi 显示器的 android 初始屏幕尺寸? - 例如 : 1024X768 pixels for ldpi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13487124/