我發現自己很好奇爲什麼Notification.Builder上的setLargeIcon方法只接受一個位圖,沒有重載提供一個資源ID。也許這是出於性能原因,但它看起來很奇怪,因爲setSmallIcon確實接受一個res可繪製的id。蜂窩通知 - 如何將largeIcon設置爲正確的大小?
Notification.Builder builder = new Notification.Builder(application);
// ....
builder.setLargeIcon(iconBitmap); // Requires a Bitmap
builder.setSmallIcon(iconResId); // Requires a drawable resource ID
Notification notification = builder.getNotification();
可悲設置在通知不進行縮放,所以位圖需要位圖以用於通知視圖被提供完全正確的尺寸。
假設我需要提供largeIcon位圖的xhdpi,hdpi,mdpi和ldpi版本,他們需要的尺寸是多少?我可以在文檔中看到沒有提及,或者在搜索更廣泛的網絡之後。
啊,這很有趣。你知道這些值在哪些單位(17104902,17104901)? –
它們很可能是xml中的dp。當你使用資源。 getDimensionPixelSize()你會在px中得到它們。 – alexanderblom
謝謝你們。這很好地訣竅。我認爲它需要一個位圖而不是resId的原因是它是爲社交媒體使用而設計的,人們的面孔通常不會與應用程序一起分發。 width = res.getDimensionPixelSize(android.R.dimen.notification_large_icon_width) –