设置透明导航栏和状态栏
只适用于23版本以上的 (其实21也可以)
方法hin简单,直接上代码
@Override
protected void onStart() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = getWindow();
//不加这个clearFlags好像就没效果
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
//设置导航栏透明(就是虚拟键那一栏)
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
//设置状态栏(或者叫通知栏)透明
window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
window.setStatusBarColor(Color.TRANSPARENT);
}
super.onStart();
}
这个代码其实百度一大堆的,不过有些我用了总是报些莫名其妙的异常,所以我就只用这个了,写这些也只是感觉写下来会让自己印象深刻一丢丢(或者说不用去百度选择到底该用哪个~~~)
因为我的app只需要全透明,所以半透明的我还没写,啥时候我需要了再说了.
文章如有错误,欢迎指出.