Android关于沉浸式的个人理解

来源:互联网 发布:python开发工具下载 编辑:程序博客网 时间:2024/06/06 00:58

之前的项目中玩过几次沉浸式的设计。最近看了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,以上就我是我个人理解。

0 0
原创粉丝点击