要改变安卓通知栏的颜色和文字颜色,可以使用以下代码示例:
// 设置通知栏颜色
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(Color.WHITE);
}
// 设置通知栏文字颜色
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
View decorView = getWindow().getDecorView();
int systemUiVisibility = decorView.getSystemUiVisibility();
systemUiVisibility |= View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;
decorView.setSystemUiVisibility(systemUiVisibility);
}
以上代码中,我们首先判断安卓系统的版本,如果版本大于或等于LOLLIPOP(Android 5.0),则表示系统支持更改通知栏颜色。我们使用getWindow().addFlags()
方法将FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS
标志添加到窗口中,然后使用setStatusBarColor()
方法将颜色设置为白色。
接下来,我们再次判断安卓系统的版本,如果版本大于或等于M(Android 6.0),则表示系统支持更改通知栏文字颜色。我们使用getWindow().getDecorView()
方法获取窗口的装饰视图,然后使用getSystemUiVisibility()
方法获取系统UI的可见性标志。我们将SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
标志添加到systemUiVisibility
中,表示将状态栏文字设置为浅色,然后使用setSystemUiVisibility()
方法将可见性标志设置回装饰视图中。
注意:以上代码需要在onCreate()
方法中调用,且在setContentView()
方法之后。另外,需要在AndroidManifest.xml
文件中的
标签中添加android:theme="@style/AppTheme"
属性,以使主题应用到整个应用程序中。
上一篇:安卓通知徽章在启动器图标上的显示
下一篇:安卓通知没有任何作用