Android——沉浸式

Android官方从来没有给出过沉浸式状态栏这样的命名,只有沉浸式模式(Immersive Mode)这种说法。而有些人在没有完全了解清楚沉浸模式到底是什么东西的情况下,就张冠李戴地认为一些系统提供的状态栏操作就是沉浸式的,并且还起了一个沉浸式状态栏的名字。


京东的顶部栏就是一个沉浸式,它就是将状态栏给隐藏掉了,实现一个沉浸的效果。

public class ImmersionUtils {
    public void setImmersion(Window window, ActionBar supprotActionBar) {
        if(window != null) {
            if(Build.VERSION.SDK_INT >= 21) {
                View decorView = window.getDecorView();
                int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
                decorView.setSystemUiVisibility(option);
                window.setStatusBarColor(Color.TRANSPARENT);
            }
        }
        if(supprotActionBar != null) {
            ActionBar actionBar = supprotActionBar;
            actionBar.hide();
        }
    }

}

将实现隐藏导航栏的代码封在一个类中,当页面的状态栏需要隐藏的时候,获取这个对象里的方法就可以了。

ImmersionUtils immersionUtils = new ImmersionUtils();
immersionUtils.setImmersion(getWindow(),getSupportActionBar());
这样就可以将顶部的状态栏进行隐藏,达到一种沉浸的效果。

猜你喜欢

转载自blog.csdn.net/xy8199/article/details/78801674
今日推荐