Androidの通知アイコンはなぜ白抜きじゃないといけないのか

目次

Small Icon(スモールアイコン)とは何か

Androidスマホの「Small Icon(スモールアイコン)」は、主にアプリの通知(プッシュ通知)で使用される小さなアイコンです
ステータスバーや通知パネルに表示され、アプリの通知が来たことを示します。通常のアプリアイコン(ランチャーアイコン)より小さく、通知専用のものです。

表示される場所

(ステータスバー・通知センター・ロック画面)

カラーアイコンを使うと何が起きるか(失敗談)

Androidは Small Icon を白黒のシルエットとして扱います。
カラーアイコンを使うと真っ白や真っ黒の四角になってしまいます(私の失敗談!)。
だから白のみ・透過背景で作ります。
さらにシンプルなデザインにするのがおすすめ。

スモールアイコンの作り方

llustratorやPhotoshopなどのツールでシンプルな白いシルエットを作成し、背景を透過にします。
推奨サイズは96 × 96px(または128x128px以上)で、細部は2px以上の太さで描きます。

保存場所:
android/app/src/main/res/drawable/ic_notification.png

コードでの設定方法(@drawable/ic_notification)

Androidアプリ開発では、 NotificationCompat.Builder の setSmallIcon() メソッドで指定します。

1. アイコンファイルの設置場所

android/app/src/main/res/drawable/ic_notification.png

2. 初期化設定(notification_service.dart)

dart

// @mipmap/ic_launcher → @drawable/ic_notification に変更
const android = AndroidInitializationSettings('@drawable/ic_notification');

3. 通知詳細設定

dart

AndroidNotificationDetails(
  'channel_id',
  'チャンネル名',
  icon: '@drawable/ic_notification', // 通知アイコンを指定
)

これだけです!シンプルですね😊

ポイントは @mipmap ではなく @drawable を使うことです。@mipmap はアプリのランチャーアイコン用、@drawable は通知アイコン用と覚えておくと良いです👍

おまけ:チャンネルIDとチャンネル名

Androidの通知はチャンネルという仕組みで管理されています。


チャンネルとは?

ユーザーが「このアプリのどの種類の通知を受け取るか」を個別に設定できる仕組みです。

例えばLINEだと:

  • メッセージ通知
  • グループ通知
  • お知らせ通知

のように種類ごとにチャンネルが分かれています。


かってに通知メモの場合

dart

AndroidNotificationDetails(
  'katteni_channel_v2',    // チャンネルID(内部で使う識別子)
  'かってに通知メモ',        // チャンネル名(設定画面に表示される名前)
  icon: '@drawable/ic_notification',
)

実際にスマホの設定画面で見た:

設定 → アプリ → 通知メモ → 通知 → その他 → かってに通知メモ

の「かってに通知メモ」がチャンネル名です!

目次