所有android版本的默认通知背景色是什么?



不同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);
        }
    }
}

最新更新