系统状态栏、导航栏透明化
1.在需要将系统状态栏透明化的活动中添加如下代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//系统状态栏透明化需要Android 5.0以上系统支持
if (Build.VERSION.SDK_INT >= 21) {
//获取当前活动的DecorView
View decorView = getWindow().getDecorView();
//setSystemUiVisibility()方法用于改变系统UI显示
//传参 View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LAYOUT_STABLE 表示活动的布局会显示在状态栏上面
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
//将状态栏设置成透明色
getWindow().setStatusBarColor(Color.TRANSPARENT);
}
setContentView(R.layout.activity_main);
......
}
2.然后将布局文件中有文本存在的顶部控件设置如下属性
android:fitsSystemWindows="true"
这是为了给系统状态栏留下空间,避免遮挡。
3.如果还需要将导航栏也透明化