Android适配18.5:9的高清屏S8及S8+

  • 内容
  • 评论
  • 相关

Galaxy S8及S8+此次分别搭载“5.8”与“6.2”大屏,而高达84%的屏幕占比以及18.5:9的屏幕比例,更是在使用Galaxy S8及S8+游戏娱乐、观看视频时带来深度沉浸式视觉体验。

由于Galaxy S8手机屏幕的特殊性,应用或游戏在S8上运行时会存在黑边的情况,对用户体验会产生影响。因此,希望所有开发者针对S8机型按照以下办法,单独做以下屏幕适配:

  1.  targetSdkVersion>=26,则根据其布局填充整个屏幕。
  2.  targetSdkVersion<26,则系统会将应用界面的大小限制为16:9(大约1.86)的窗口。如果应用程序在屏幕宽高比较大的设备上运行,则该应用程序会显示在16:9的信箱中,从而导致部分屏幕未使用。

如果您的应用布局无法适应任意大的纵横比,您可以通过设置最大纵横比在所有Android操作系统级别上明确实施letterboxing。我们建议比例为2.4(12:5)。在纵横比大于指定比例的设备上运行时,您的应用程序将显示letterbox。Wear OS设备的值必须至少为1.0,其他设备的值至少为1.33。如果您指定的比率小于这些限制,则系统会根据上述操作系统级别限制应用的宽高比。

要为Android 8.0(API级别26)和更高级别设置最大宽高比,请 android:MaxAspectRatio在您的<activity>代码中使用最大比率 。以下示例显示如何声明2.4的最大宽高比:

<!-- Render on full screen up to screen aspect ratio of 2.4 -->
<!-- Use a letterbox on screens larger than 2.4 -->
<activity android:maxAspectRatio="2.4">
 ...
</activity>

对于Android 7.1及更低版本,添加 <meta-data>元素中指定android.max_aspect 的元素,如下所示:<application>

<!-- Render on full screen up to screen aspect ratio of 2.4 -->
<!-- Use a letterbox on screens larger than 2.4 -->
<meta-data android:name="android.max_aspect" android:value="2.4" />

如果您设置了最大宽高比,请不要忘记设置 android:resizeableActivity="false"。否则,最大宽高比不起作用。

用户在下载安装应用/游戏后,即可在S8上实现全屏运行。

没有适配之前是不是看着很奇怪。

适配之后,视觉冲击是不是很大。

Antutu V7,也在紧张的开发测试中,大版本的更新,有很多料,敬请期待。