【问题标题】:Android Splash Screen sizes (in px, to fit all devices) [duplicate]Android启动屏幕尺寸(以像素为单位,以适合所有设备)[重复]
【发布时间】:2014-01-16 03:47:52
【问题描述】:

我对 Android 应用开发并不陌生。我已经创建了一些具有非常简单 UI 的应用程序,我不必担心屏幕分辨率 / dpi / dp ......但是今天我必须创建一个具有自定义 UI 设计(非常“图形”)的更高级的 Android 应用程序.

我想实现一个启动画面(全屏图像)。这既困难又乏味,因为对于 Android,我们必须处理很多分辨率和密度。

我的问题

我不知道每个可绘制文件夹(ldpi、mdpi、hdpi 和 xhdpi)的大小。

我应该创建什么尺寸(以像素为单位),以使启动画面在所有屏幕上都能很好地显示?具体来说,我需要创建哪些文件?

几句话

  1. 我知道 StackOverflow 上还有许多其他主题(hereherehere)关于 Android 闪屏/分辨率问题。但在我看来,这些都没有给出一个可以理解/明确的答案(我的意思是,用 px)。

  2. 我已阅读“Supporting Multiple Screens

  3. 我知道密度之间的比率:

    • ldpi (0.75x)
    • mdpi(基线)
    • hdpi (1.5x)
    • xhdpi (2.0x)
    • xxhdpi (2.5x)
  4. 我知道 9 路径图像解决方案,但它不适用于我想要的(全屏图片)。

  5. this one 之类的工具有助于将 dp 转换为 px

  6. 我已经解压了许多 APK 文件,以了解这些应用程序如何处理启动画面图像。没有人使用相同的尺寸,这很混乱!

  7. 我不需要横向启动画面。

  8. 使用 800x1280 像素的 PNG 文件(在 xhdpi 中)它在我的 Nexus 4 模拟器上正常,但在 Galaxy S4 模拟器上垂直拉伸。

【问题讨论】:

标签: android drawable splash-screen


【解决方案1】:

就像您已经指出的那样,您想用作参考框架的案例是 mdpi 设备。您需要确保您对初始屏幕在 mdpi 设备上的外观感到满意,只要您使用 .9.png(9 补丁图像)格式,Android 就会自动为您重新缩放您的可绘制对象,并且设备具有相同的纵横比。

有关 9-patch 格式的更多信息,click here

【讨论】:

    【解决方案2】:

    android 屏幕没有单一的方面,因此没有完美的显示启动屏幕的解决方案。您只需要将图像放入某个布局并将其显示为单独的活动。查看 ImageView 和 scale 属性: http://developer.android.com/reference/android/widget/ImageView.ScaleType.html 没有适用于所有情况的通用解决方案,但请尝试以下方法: 将 RelativeLayout 作为基本布局,为高度和宽度设置 match_parent 将 ImageView 放在它的中心,将 match_parent 设置为宽度,将 wrap_content 设置为高度,尝试缩放模式以获得令人满意的结果。 您可以为基本布局设置背景可绘制对象,以使用一些纯色或渐变填充边距。 获得正确的缩放比例后,尝试它在较小屏幕上的显示方式提供其他分辨率以避免过度下采样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-15
      • 2019-12-14
      相关资源
      最近更新 更多