您的位置:首页 > 移动开发 > Android开发

Android关于沉浸式的个人理解

2016-09-12 12:47 351 查看
之前的项目中玩过几次沉浸式的设计。最近看了hongyang和郭神的关于沉浸式的介绍,又有了新的认识。遂整理之。

Android机型的原因,我将分成两部分,

(1)4.4之后5.0之前的版本。

         在4.4之后,Android提供了windowTranslucentStatus属性,该属性可以将statusbar即状态栏设置成半透明的状态效果。我们只需要在values-v19下添加该属性即可。

if(Build.VERSION.SDK_INT >= 19) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
}


(2)5.0之后的版本。

        5.0之后,Android提供了setStatusbarColor()方法允许我们修改状态栏的颜色,但是修改状态栏颜色和windowTranslucentStatus属性不能共存。所以,当我们要修改状态栏颜色的时候,我们需要去掉windowTranslucentStatus属性。

Android中最多的设计还是利用状态栏区域,将布局内容显示到状态栏区域。如何实现呢?很简单,只需要我们添加如下代码即可:

if(Build.VERSION.SDK_INT >= 21) {
View decorView = getWindow().getDecorView();
int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
decorView.setSystemUiVisibility(option);
}


上面分别为19,21的不同使用方式,不过基本大同小异。在开启了透明状态栏之后,还需要对我们的布局文件进行修改,默认情况下布局内容是会占据状态栏区域,在布局文件中设置fitsSystemWindows为true即可。

ok,以上就我是我个人理解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: