美文网首页
Android全面屏

Android全面屏

作者: Zcurry | 来源:发表于2019-02-20 13:01 被阅读0次
    所谓全面屏手机,就是屏幕纵横比大于1.86的设备。例如: 举个例子.png

    官方文档:

    • If your app targets Android 8.0 (API level 26) or higher, it fills the entire screen, according to its layout.
    • If your app targets Android 7.1 (API level 25) or lower, the system limits the size of the app's interface to a window with an aspect ratio of 16:9 (approximately 1.86). If the app runs on a device with a larger screen aspect ratio, the app appears in a 16:9 letterbox that leaves part of the screen unused.

    大致翻译:

    • 如果应用针对的是Android 8.0(API级别26)或更高版本,则会根据其布局填充整个屏幕。
    • 如果您的应用面向Android 7.1(API级别25)或更低,系统会将应用界面的大小限制为纵横比为16:9(约1.86)的窗口。如果应用程序在较大屏幕纵横比的设备上运行,则该应用程序将显示在16:9区域中,使得部分屏幕未使用。

    当应用未适配全面屏时,就会出现问题
    因此,谷歌官方建议:

    If your app layout cannot adapt to arbitrarily large aspect ratios, you can explicitly enforce letterboxing on all Android OS levels by setting a maximum aspect ratio. We recommend a ratio of 2.4 (12:5).
    如果app布局无法适应任意大的纵横比,则可以通过设置最大纵横比来强制显示。建议比率为2.4(12:5)。

    Android 8.0 (API level 26) 或更高

    <!-- 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及以下

    <!-- 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" />
    

    Tips : 如果设置最大纵横比,请不要忘记也设置 android:resizeableActivity = false。否则,最大纵横比无效。(resizeableActivity默认为false,该属性也会支持分屏显示)

    个人总结

    最好的做法就是将应用升级到最新版本(目前是28),这样就能自动适配全屏;但是并不意味着UI能够正常显示,UI适配仍是开发和设计需要完善的问题。

    参考链接:
    https://developer.android.com/guide/practices/screens_support
    https://developer.huawei.com/consumer/cn/devservice/doc/50111

    相关文章

      网友评论

          本文标题:Android全面屏

          本文链接:https://www.haomeiwen.com/subject/dtxhyqtx.html