The foreground layer's white DC glyph only occupied 235x150 of the 432x432 canvas (81.6% width / 52.1% height of the 66dp safe zone), noticeably smaller than the background layer's pink M shape, which was deliberately sized per design/icon/README.md to fill that same zone almost edge-to-edge (287x287, ~100%). Upscaled and recentered the DC glyph to 288x184 (matching the M's full zone width, aspect ratio preserved) so both layers read at a consistent size on the home screen, then regenerated the mipmap drawables via `dart run flutter_launcher_icons` and verified on the emulator after a `flutter clean` + reinstall (per the README's cache-busting note).
DMC Launcher Icon – Adaptive Icon Layers
Warum vorher ein weisser Rand entstand
flutter_launcher_icons erzeugt ein Adaptive Icon nur, wenn
adaptive_icon_background UND adaptive_icon_foreground gesetzt sind.
Der image_path wird nicht automatisch als Vordergrund uebernommen.
Ohne Adaptive Icon faellt Android auf die Alt-Behandlung zurueck: Es verkleinert das quadratische Bild und legt es auf weissen Grund, damit es in die Maskenform passt. Genau das war der weisse Kreis.
Dateien
| Datei | Inhalt |
|---|---|
ic_background.png |
Deckend #160E24 + M in der 66dp-Zone |
ic_background_alt_A.png |
Alternative: M fuellt die sichtbaren 72dp |
ic_foreground.png |
Transparent + weisses DC (Sicherheitszone) |
ic_monochrome.png |
DC-Silhouette fuer Themed Icons |
Alle 432x432 px (= 108dp bei xxxhdpi). SVG-Quellen liegen daneben.
Warum das M nicht mehr randfuellend ist
Die Maske zeigt nur die inneren 72 von 108 dp (288 von 432 px). Ein randfuellendes M verliert dadurch 72 px pro Seite. Gemessener Anteil des sichtbaren M:
| Variante | Kreis | Squircle | Eckig |
|---|---|---|---|
| randfuellend (urspruenglich) | 31 % | 36 % | 40 % |
| A – M fuellt die 72dp | 74 % | 90 % | 99 % |
| B – M in der 66dp-Zone | 84 % | 97 % | 100 % |
Ausgeliefert wird B, weil es in jeder Maskenform besser
abschneidet als A. Wer das M naeher am Rand moechte, nimmt
ic_background_alt_A.png.
Geprueft:
- Hintergrund vollstaendig deckend
- Vordergrund max. 127 px vom Zentrum -> passt in die 132 px Sicherheitszone
- Aeusseres 18dp-Band enthaelt nur Hintergrundfarbe
pubspec.yaml
dev_dependencies:
flutter_launcher_icons: ^0.14.4
flutter_launcher_icons:
android: "launcher_icon"
ios: true
image_path: "assets/launcher/ic_playstore.png"
adaptive_icon_background: "assets/launcher/ic_background.png"
adaptive_icon_foreground: "assets/launcher/ic_foreground.png"
adaptive_icon_monochrome: "assets/launcher/ic_monochrome.png"
Danach:
flutter clean
dart run flutter_launcher_icons
flutter clean nicht weglassen - alte Icons werden sonst
oft aus dem Cache weiterverwendet.
Hinweise
image_pathist der Alt-/iOS-Pfad. Dafuer die eckige Vollversion nehmen (Y2_pink_dark_square), nicht die Ebenen.- Fuer den Play Store zusaetzlich 512x512 px, ohne Transparenz.
- Das Benachrichtigungssymbol ist eine eigene Grafik:
weiss auf transparent, in
drawable/, nichtmipmap/. - Auf einem echten Geraet gegen mehrere Launcher pruefen (Samsung = Kreis, Pixel = Squircle).