布局图片和状态栏融合

Android,杂记 2017-09-27

让布局图片和状态栏融合:

@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(R.layout.activity_weather);
...
}

由于这个功能是Android 5.0及以上的系统才支持的, 因此我们先在代码中做了一个系统版本号的判断, 只有当版本号大于或等于21, 也就是5.0及以上系统时才会执行后面的代码。接着我们调用了getWindow().getDecorView() 方法拿到当前活动的DecorView, 再调用它的setSystemUiVisibility() 方法来改变系统
UI的显示, 这里传入View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 和
View.SYSTEM_UI_FLAG_LAYOUT_STABLE 就表示活动的布局会显示在状态栏上面, 最后调用一下setStatusBarColor() 方法将状态栏设置成透明色。

这时候有一点要注意的是:需要在布局中加一个:android:fitsSystemWindows否则布局会占用状态栏的控件


本文由 方方無 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论

shijiebei 365bet manbetx 188bet xinshui caipiao 95zz tongbaoyule beplay 88bifa 18luck betway bwin hg0088 aomenjinshayulecheng ca88 shenbotaiyangcheng vwin w88 weide