Android沉浸模式

来源:互联网 发布:企业网站搜索优化 编辑:程序博客网 时间:2024/04/25 08:53


尊重原创,转载请注明出处。

Google在Android4.4基础上增加一种全新的体验模式,沉浸模式。也就是隐藏状态栏和NavigationBar。体验很爽。比如看电影的时候,当然希望是全屏模式。

废话不说了。直接上代码。

 

 

  @Override    public void onWindowFocusChanged(boolean hasFocus) {        super.onWindowFocusChanged(hasFocus);        if (hasFocus) {            getWindow().getDecorView().setSystemUiVisibility(                    View.SYSTEM_UI_FLAG_LAYOUT_STABLE                            | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION                            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN                            | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION                            | View.SYSTEM_UI_FLAG_FULLSCREEN                            | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);        }    }


在Activity里面重写onWindowFocusChanged方法,修改DecorView的Flags。就能达成全屏的效果了。

尤其需要注意一点。Google的ActionBar和沉浸模式有冲突,具体效果就是,当进入沉浸模式的时候,开始的几秒钟,页面上方会有一条透明的黑色浮层。

虽然仅仅只有几秒钟的时间,但是交互效果太差。

解决方法:

1、设置theme的主题为NoTitleBar;

2、在OnCreate方法里,调用:getActionBar().hide();

 @Override    protected void onCreate(Bundle savedInstanceState) {        getActionBar().hide();        super.onCreate(savedInstanceState);        this.setContentView(R.layout.navigationui_set_layout);        initData();        initView();    }


OK,问题完美解决。效果图就不贴了~

 

0 0
原创粉丝点击