Android沉浸式全屏讲(状态栏、导航栏处理)

控制SystemBar相关

  1. SYSTEM_UI_FLAG_FULLSCREEN

    该属性是用来隐藏状态栏的

  2. SYSTEM_UI_FLAG_HIDE_NAVIGATION

    该属性是用来隐藏导航栏的

  3. SYSTEM_UI_FLAG_LOW_PROFILE

    这个属性的能力是让SystemBar在视觉上变得模糊,重要性变得更低一点。具体表现是状态栏图标仅保留电量时间关键图标,并且变暗。导航栏图标变成三个点或者变暗。这个flag使用的很少。

布局相关

  1. SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN

    可以让布局延伸到状态栏的位置。

  2. SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION

    可以让布局延伸到导航栏的位置。

  3. SYSTEM_UI_FLAG_LAYOUT_STABLE

    可以保持布局稳定,避免在显隐状态栏导航栏的时候发生布局的变化。

沉浸式相关 (4.4 引入)

  1. SYSTEM_UI_IMMERSIVE

    在以上flag设置的基础上设置该属性,可以保证在点击home键、menu键时不会失去状态。但是如果手动调出systembar的时候,设置的相关flag还是会被清除掉。

  2. SYSTEM_UI_IMMERSIVE_STICKY

    设置这个属性后。当状态栏隐藏的时候,手动调出状态栏导航栏,显示一会儿随后就会隐藏掉。设置该属性后不会清除flag,该属性是比较常用的一种。

凹口屏(Android 9 Pie)

  1. LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT

    默认情况,全屏页面不可用刘海区域,非全屏页面可以进行使用

  2. LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES

    允许页面延伸到刘海区域

  3. LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER

    不允许使用刘海区域

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容