Android Splash Screen尺寸(以px为单位,适合所有设备)

时间:2013-12-28 21:25:00

标签: android drawable splash-screen

我不是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这样的工具有助于在px中转换dp

  6. 我解压了很多APK文件,看看这些应用程序如何处理启动画面图像。没有使用相同的尺寸,这令人困惑!

  7. 我不需要风景闪屏。

  8. 使用800x1280px PNG文件(在xhdpi中)可以在我的Nexus 4仿真器上运行,但在Galaxy S4仿真器上进行垂直延伸。

2 个答案:

答案 0 :(得分:0)

正如您已经指出的那样,您要用作参考框架的案例是mdpi设备。你需要确保你对你的启动画面在mdpi设备上的外观感到满意,并且Android会自动为你重新缩放你的drawables,只要你使用.9.png(9-patch image)格式和该设备具有相同的宽高比。

有关9补丁格式的更多信息,请click here

答案 1 :(得分:0)

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