不同的Android版本具有不同的默认通知背景颜色。我使用自定义通知布局,我需要知道什么是所有Android版本的默认通知背景颜色(从8到23)。我没有找到任何可以找到它的列表。提前谢谢。
答案 0 :(得分:0)
我不确定您是否可以获得这样的列表,因为它因不同的版本/设备而异,正如文档所述:
始终将样式资源用于自定义通知的文本。通知的背景颜色可能因设备和版本而异,使用样式资源可帮助您解决此问题。从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);
}
}
}