首先科普下,什么是“沉浸式”和“透明状态栏”?
1. 大家平时看到一些App运行后,状态栏会变成半透明,或者颜色跟随App的标题栏变色,这种特性叫“Translucent StatusBar”——透明状态栏,不是“沉浸式”!
2. 一些App运行后,状态栏会隐藏起来,App的界面填满整个屏幕,这种特性才叫“Immersive Mode”——“沉浸模式”!
再让大家了解下历史,“沉浸式”和“透明状态栏”是何时出现的?
很多人都知道,安卓(Android)系统是谷歌(Google)的,Google当初发布Android 4时其实已经发布了一套App开发规范,名叫Android Design(就相当与小学生行为准则,开发者开发App要遵守,当然国内那些公司就相当于学校里的混混,总是不遵守),这套规范其实给当时的Android App开发做出了很好的指导,大批国外开发者、公司都按照这个规范开发App,界面也相当美观。而大家最关心的“透明状态栏”这一特性其实在Android Design规范中没有硬性规定。直到Android 4.4,Google才开放了这一特性的接口,但是开发规范里面依然没有强制要求开发者实现这种效果。所以大家可以想象,有些开发者可能不太喜欢这种效果,所以他们没给自己的App适配,而有些开发者喜欢,于是做了,这就导致安卓的App有些支持透明状态栏,而有些不支持,乱象丛生……
下面我们回归正题,到底什么样的效果才是“透明状态栏”、什么样的效果才是“沉浸式”?
(1)沉浸式
先讲大家误会最深的“沉浸式”。沉浸,顾名思义,就是让整个App的界面浸入整个屏幕。因此,真正的“沉浸式”的效果是这样:App运行后,状态栏自动隐藏消失(如果手机有虚拟按键的话,虚拟按键也会隐藏消失),App的整个界面填满屏幕
如图1所示,这是一台有屏幕内虚拟按键的平板(具体型号不说了),注意红色方框的位置,屏幕顶部是没有状态栏显示的,已经隐藏掉了。而屏幕底部也没有了虚拟按键,也隐藏掉了。这种整个屏幕填满App界面的效果才叫“沉浸式”!
(2)透明状态栏
“透明状态栏”就是大家日常说得最多的效果,这种效果是人都会喜欢(主要还是归功于苹果的推广,呵呵~)。这种效果是什么样不用我说大家也知道吧?App运行后,系统状态栏变成半透明显示出App界面的内容,或者系统状态栏的颜色跟随App标题栏的颜色而改变。
如图2所示,注意红色方框部分,虽然整个屏幕显示的都是App的内容,但是!但是!屏幕内依然有“系统状态栏”和“虚拟按键导航栏”。屏幕顶部红色方框内就是系统状态栏,屏幕底部红色方框内就是虚拟按键导航栏。
图1 沉浸式
图2 透明状态栏