不同Android版本有不同的默认通知背景色。我使用自定义通知布局,我需要知道所有android版本(从8到23)的默认通知背景色是什么。我没有找到任何可以找到这个的列表。
我不确定你能得到这样一个列表,因为它因不同的版本/设备而异,正如文档所述:
始终为自定义通知的文本使用样式资源。通知的背景颜色在不同的设备和版本中可能会有所不同,使用样式资源可以帮助您解决这个问题。从Android 2.3开始,系统为标准通知布局文本定义了一种样式。如果你在Android 2.3或更高版本的应用程序中使用相同的样式,你将确保你的文本在显示背景下是可见的。
从源代码中你可以看到它是如何设置的:
protected void applyLegacyRowBackground(StatusBarNotification sbn, View content) {
if (sbn.notification.contentView.getLayoutId() !=
com.android.internal.R.layout.notification_template_base) {
int version = 0;
try {
ApplicationInfo info = mContext.getPackageManager().getApplicationInfo(sbn.pkg, 0);
version = info.targetSdkVersion;
} catch (NameNotFoundException ex) {
Slog.e(TAG, "Failed looking up ApplicationInfo for " + sbn.pkg, ex);
}
if (version > 0 && version < Build.VERSION_CODES.GINGERBREAD) {
content.setBackgroundResource(R.drawable.notification_row_legacy_bg);
} else {
content.setBackgroundResource(com.android.internal.R.drawable.notification_bg);
}
}
}