80 lines
2.7 KiB
Markdown
80 lines
2.7 KiB
Markdown
# 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
|
||
|
||
```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_path` ist 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/`, nicht `mipmap/`.
|
||
- Auf einem echten Geraet gegen mehrere Launcher pruefen
|
||
(Samsung = Kreis, Pixel = Squircle).
|