Android 5.0以降、通知の大きなアイコンは背景が色になっています:
小さいアイコンの場合、通知のアクセントカラー(Notification.Builder.setColor(int)
)です。大きなアイコンに設定するにはどうすればよいですか?実際の画像の一部ですか?もしそうなら、円の半径はどうあるべきですか?
はい、大きいアイコンの色は実際の画像の一部です。 Lollipopの大きなアイコンのサイズは40x40dpで、画像全体が光学ビューで表示されます。したがって、半径20 dpの円で40x40 dpのアセットを作成する必要があります。通知の大きなアイコンを次のように設定できます。
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context)
.setSmallIcon(R.drawable.notification_small_icon)
.setLargeIcon(notificationLargeIconBitmap)
.setContentTitle("Notification")
.setContentText("Content text")
.setColor(context.getResources().getColor(R.color.accent_color));
大きなアイコンをドローアブルリソースから取得する必要がある場合は、次のようにBitmap
インスタンスを取得できます。
Bitmap notificationLargeIconBitmap = BitmapFactory.decodeResource(
context.getResources(),
R.drawable.notification_large_icon);
以前のバージョンのAndroid(KitKat and below))で通知を適切に表示したい場合は、サイズが大きい正方形のバージョンの大きなアイコンが必要です64x64dp。
大きなアイコンには常に背景(アバターなど)が必要です。通知の背景としてウェアデバイスでも使用されます。異なる背景色で表示されるため、不透明な画像である必要があります。