如何在 android 应用中支持 18:9 纵横比?

How to support 18:9 aspect ratio in android apps?

新款三星 Galaxy S8 和 LG G6 手机的宽高比为 18:9。这与大多数 android 设备支持的 16:9 当前纵横比不同。如何处理现有 android 应用或新创建的应用中的新纵横比。

有两种方法可以解决这个问题。首先,您需要决定是否要在您的应用中支持新比例。

如果我们选择不支持它会怎样?

好吧,当应用程序位于屏幕中央时,屏幕顶部和底部会出现一些黑色 space。当然,这将是大宽高比手机 (18:9) 中的行为。在标准宽高比手机 (16:9) 中,该应用程序将按原样运行,没有任何问题。

我看到了三个主要缺点:

1) UI 可能看起来不太吸引人,因为顶部和底部有黑色条纹。

2) 您将无法利用额外的 space 可用资源,而这些资源本可以为您带来好处。

3) 您将无法 运行 您的应用程序支持多 window。重要的是要在这里提到多 window 支持是 Google 推动具有更新纵横比的设备的主要原因。因为2:1的比例,屏幕可以完美的分成两个正方形

如果您出于某种原因仍然决定不支持它,那么这就是您需要做的:

在您的应用清单中,

android:resizeableActivity 设置为 false

通过这样做,最大宽高比恢复到 16:9(大约)。

如果你想让你的应用支持大宽高比,你需要这样做:

在您的 应用程序清单 <application> 标签中,添加以下元数据:

<meta-data android:name="android.max_aspect" android:value="2.1" />

通过这样做,您告诉 android 系统此应用程序旨在支持 18.5:9 的最大纵横比(大约,顺便说一下,这是 S8 的纵横比)。