沉浸式状态栏

来源:互联网 发布:无锡关键词优化 编辑:程序博客网 时间:2024/06/08 10:53

在这篇末尾也提到过沉浸式状态,不过那时是借助了Design Support库,嵌套了好多布局,实在是太麻烦了。。。文章传送门

下面介绍一种更简单的方式。

....

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if (Build.VERSION.SDK_INT >= 21){
            View decorView = getWindow().getDecorView();
            decorView.setSystemUiVisibility(
                    View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
            getWindow().setStatusBarColor(Color.TRANSPARENT);
        }
        setContentView(....);

....

首先获取DecorView,DecorView是当前活动的顶级View。

接着通过setSystemUiVisibility方法设置系统UI的显示,其中这两个参数表示活动布局显示在状态栏上面。

然后就是把状态栏设置成透明。

anctivity中设置好了,当然不能忘记布局里的,相应的布局中添加android:fitsSystemWindows="true"属性即可。