web-dev-qa-db-ja.com

大きな通知アイコンの背景

Android 5.0以降、通知の大きなアイコンは背景が色になっています:

Lollipop-notification

小さいアイコンの場合、通知のアクセントカラー(Notification.Builder.setColor(int))です。大きなアイコンに設定するにはどうすればよいですか?実際の画像の一部ですか?もしそうなら、円の半径はどうあるべきですか?

25

はい、大きいアイコンの色は実際の画像の一部です。 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

32
alxscms

大きなアイコンには常に背景(アバターなど)が必要です。通知の背景としてウェアデバイスでも使用されます。異なる背景色で表示されるため、不透明な画像である必要があります。

0
notz