Androidの通知アイコン
Androidの通知表示のアイコンがどう表示されるか、手持ちのいくつかの端末で試してみました。
結論から言うとSmallIcon にはランチャーアイコンを流用してはいけません。24dp 、(2.3のみ25dp)の画像を用意しましょう。でないと 3.x から 4.1 、(あと試してないけど多分JB MR2の 4.3 も?) でレイアウト崩れを起こします。また 5.0 でアイコンのカラーチャネルが無視されるようになったので、通知アイコンは白のシルエットにしましょう。
テストアプリでは support library 21.0.3 の NotificationCompat.Builder を使用しました。minSdkVersion="10" targetSdkVersion="21" です。
SmallIcon は xhdpi 24dp(適正) と xhdpi 48dp (ランチャーアイコンと同サイズ) の2通り、LargeIcon の有無の2通りを試しました。SmallIcon を指定せずに LargeIcon を指定した場合、試したどの端末でも通知は表示されませんでした。なお、表示結果に差異がなかった場合は LargeIcon の表示例は省略しています。
Android 5.0.1 (LOLLIPOP)
- 5.0からTickerが廃止されました。※ アクセシビリティサービス用としてはまだ使われるようです
- 5.0からExpand表示のアイコンの周囲に、カラーサークルが敷かれるようになりました。サークルの色は指定できます。
- ステータスバーでの表示と、LargeIconありの表示ではアイコン画像が白シルエットで表示されます。Expand表示では場合によりアイコンが色付きのまま表示されてしまうことがあります(追記:バグだそうです)ので、SmallIconの画像はあらかじめ白シルエットにしておいたほうが良さそうです
- LargeIconありのExpand表示では、今まで右端にあったSmallIconが、LargeIconの右下に移動しています。また、LargeIconに指定した画像は長辺fitで表示されるようになりました。
Ticker
廃止されたTickerのかわりにHeads Up Notificationを使うらしいのですが、
画面上部に被さる&自動では消えにくいので、トーストの方が「場合によっては」使い勝手が良いと思います
Status Bar Icon
Expand Notification Area
Android 4.4.2 (KITKAT)
- 画像大きくてすいません。WQHD端末からのキャプチャです
- アイコン画像は320ppiで用意しましたが、WQHD端末だとやや拡大ぎみになります。ただし肉眼では特に支障ありません。
- この端末では特に表示崩れはありませんでした
Ticker
Status Bar Icon
Expand Notification Area
Android 4.1.1 (JELLY_BEAN)
- Tickerの表示はリサイズが行われません。アイコンサイズが適正でないと表示崩れが発生します。
- ステータスバーはリサイズが行われますが、リサイズ品質は良くないようです。アプリには解像度別のアイコンリソースを用意しましょう。
- 4.0からの違いは、LargeIconを指定した場合のExpand表示でSmallIconがリサイズされるようになりました
Ticker
Status Bar Icon
Expand Notification Area
Android 4.0.4 (ICE_CREAM_SANDWICH_MR1)
- Tickerの表示はリサイズが行われません。アイコンサイズが適正でないと表示崩れが発生します。
- ステータスバーはリサイズが行われますが、リサイズ品質は良くないようです。アプリには解像度別のアイコンリソースを用意しましょう。
- LargeIconありの場合、Expand表示でのSmallIconがリサイズされません。アイコンサイズが適正でないと表示崩れが発生します。
Ticker
Status Bar Icon
Expand Notification Area
Android 3.2.2 (HONEYCOMB_MR2)
- Ticker表示ではTickerのテキストが使われません。何を言ってるのか わからねーと思うが おれも何をされたのかわからなかった
- Ticker表示ではSmallIconのリサイズが行われません。アイコンサイズが適正でないと表示崩れが発生します。
- Status Bar のアイコン表示は微妙にリサイズが行われています。ただし3.x特有の挙動な気もします。
Ticker
Status Bar Icon
Expand Notification Area
Android 2.3.4 (GINGERBREAD_MR1)
- 2.xまではLargeIconの概念がありません。
- 2.3 は通知領域の高さは25dp ですが、アイコン画像のサイズが異なる場合はリサイズされるようです。
- このテストではSmallIcon に 24dpの画像と48dpの画像を指定しましたが、どちらも表示枠に合わせてリサイズされました。
Ticker
Status Bar Icon
Expand Notification Area