2015-10-13 150 views
0

不同的Android版本具有不同的默認通知背景顏色。我使用自定義通知佈局,我需要知道什麼是所有Android版本(從8到23)的默認通知背景顏色。我沒有找到任何可以找到的列表。先謝謝你。什麼是所有Android版本的默認通知背景顏色?

+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); 
     } 
    } 
} 
相關問題