Files

80 lines
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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).