if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { View decor = getWindow().getDecorView(); if (isLightMode) { // 设置状态栏为浅色模式 decor.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); } else { // 设置状态栏为深色模式 decor.setSystemUiVisibility(0); } }
时间: 2024-04-28 12:26:39 浏览: 106
Android Build.VERSION.SDK_INT
这段代码的作用是先判断当前的Android版本是否大于等于6.0(也就是Android M),如果大于等于6.0,则获取当前窗口的DecorView,并根据isLightMode的值来设置状态栏的字体和图标颜色。如果isLightMode为true,则设置状态栏为浅色模式,即状态栏字体和图标为黑色;如果isLightMode为false,则设置状态栏为深色模式,即状态栏字体和图标为白色。
需要注意的是,该代码只在Android M及以上版本中才能生效,因为在Android M之前并没有提供直接设置状态栏字体和图标颜色的方法。如果你的应用需要支持Android M以下的版本,可以考虑使用其他方式来实现类似的效果,比如在状态栏下面添加一个与状态栏颜色相同的View来模拟状态栏。
阅读全文