美文网首页
Android-刘海屏

Android-刘海屏

作者: 森屿暖茶 | 来源:发表于2021-05-06 19:20 被阅读0次

    刘海屏

    刘海屏是指某些设备显示屏上的一个区域延伸到显示面,这样既能为用户提供全面屏体验,又能为设备正面的重要传感器留出空间。Android 在搭载 Android 9(API 级别 28)及更高版本的设备上正式支持刘海屏。请注意,设备制造商也可以选择在搭载 Android 8.1 或更低版本的设备上支持刘海屏。

    为了确保一致性和应用兼容性,搭载 Android 9 的设备必须确保以下刘海行为:

    ①一条边缘最多只能包含一个刘海。

    ②一台设备不能有两个以上的刘海。

    ③设备的两条较长边缘上不能有刘海。

    ④在未设置特殊标志的竖屏模式下,状态栏的高度必须至少与刘海的高度持平。

    ⑤默认情况下,在全屏模式或横屏模式下,整个刘海区域必须显示黑边。

    检测

    如果不希望您的内容与刘海区域重叠,请确保您的内容不与状态栏和导航栏重叠,这样做一般就足够了。如果您要将内容呈现到刘海区域中,则可以使用 WindowInsets.getDisplayCutout() 来检索DisplayCutout 对象,该对象包含每个刘海区域的安全边衬区和边界框。您可以使用这些 API 来检查您的内容是否与刘海区域重叠,以便根据需要重新放置。

    API提供窗口布局属性 layoutInDisplayCutoutMode 控制我们的内容如何呈现在刘海区域中。有三种显示模式

    通过theme方式设置

    在activity中设置

    刘海屏处理方式

    默认行为(全屏页面不可用刘海区域,非全屏页面可以进行使用)LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER

    默认情况下,在未设置特殊标志的竖屏模式下,在带刘海屏的设备上,状态栏的大小会调整为至少与刘海一样高,而您的内容会显示在下方区域。在横屏模式或全屏模式下,您的应用窗口会显示黑边,因此您的任何内容都不会显示在刘海区域中。

     将内容呈现在短边刘海区域中(LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES,画面沉浸过去)

    对于某些内容(如视频、照片、地图和游戏),呈现在刘海区域中是一种很好的方法,这样能够为用户提供沉浸感更强的全面屏体验。如果设置了 LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES,则在竖屏模式和横屏模式下,内容都会延伸到显示屏的短边上的刘海区域,而不管系统栏处于隐藏还是可见状态。请注意,窗口无法延伸到屏幕的长边上的刘海区域。使用此模式时,请确保没有重要内容与刘海区域重叠。

    则不允许窗口与刘海区域重叠。(LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER)

    PS:根据应用场景。可以自行选择需求进行适配。一般和沉浸式一起使用。

    相关文章

      网友评论

          本文标题:Android-刘海屏

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