All skills
davidortinau avatar

/maui-app-icons-splash

@0f66779
by David Ortinaudavidortinau/maui-skills173 stars
20

.NET MAUI app icon configuration, splash screen setup, SVG to PNG conversion at build time, composed/adaptive icons, and platform-specific icon and splash screen requirements for Android, iOS, Mac Catalyst, and Windows. USE FOR: "app icon", "splash screen", "MauiIcon", "MauiSplashScreen", "adaptive icon", "change app icon", "launch screen", "SVG icon", "foreground tint", "icon resize". DO NOT USE FOR: in-app images or image loading (use maui-performance), theming or colors (use maui-theming), or custom drawing (use maui-graphics-drawing).

Use this Skill: https://skilld.dev/gh/davidortinau/maui-skills/maui-app-icons-splash

This session only. Nothing lands on disk.

SKILL.md

β‰ˆ142 tokens always: the name and description. β‰ˆ852 when used: this file. β‰ˆ791 more on demand in 1 file.

.NET MAUI App Icons & Splash Screens

Common Pitfalls

❌ Android adaptive icon clipping

Android adaptive icons crop to a circular or squircle safe zone. If the foreground fills the canvas, it will be clipped.

<!-- ❌ Single-layer icon β€” foreground fills entire canvas, gets clipped -->
<MauiIcon Include="Resources\AppIcon\appicon.svg"
          Color="#512BD4" />

<!-- βœ… Composed icon with scaled foreground β€” stays in safe zone -->
<MauiIcon Include="Resources\AppIcon\appicon.svg"
          ForegroundFile="Resources\AppIcon\appiconfg.svg"
          ForegroundScale="0.65"
          Color="#512BD4" />

❌ Transparent splash screen Color

Some platforms ignore alpha in the splash Color and show black instead.

<!-- ❌ Transparent color β€” may render as black on some platforms -->
<MauiSplashScreen Include="Resources\Splash\splash.svg"
                  Color="#00FFFFFF" />

<!-- βœ… Opaque color -->
<MauiSplashScreen Include="Resources\Splash\splash.svg"
                  Color="#512BD4" />

❌ Confusing Color vs TintColor

  • Color = background fill behind the icon/splash.
  • TintColor = recolors the foreground image itself.

Setting only TintColor without visible foreground paths results in a blank icon.

⚠️ SVG rendering issues at build time

Complex SVGs with gradients, filters, or masks may not rasterize correctly via the Microsoft.Maui.Resizetizer MSBuild task.

<!-- Workaround: supply a pre-made PNG and skip resizing -->
<MauiIcon Include="Resources\AppIcon\appicon.png"
          Resize="false" />

⚠️ BaseSize mismatch

If your SVG viewBox doesn't match the desired logical size, set BaseSize explicitly β€” otherwise the output dimensions may be wrong.

<!-- SVG viewBox is 100x100 but you want 456x456 logical output -->
<MauiIcon Include="Resources\AppIcon\appicon.svg"
          BaseSize="456,456"
          Color="#512BD4" />

Best Practices

  1. Use SVG whenever possible β€” one file, infinite scaling, smaller repo.
  2. Set BaseSize explicitly when the SVG viewBox doesn't match the desired logical size.
  3. Keep splash images simple β€” large or complex SVGs slow the build and may render with artifacts.
  4. Test on real devices β€” emulator densities mask icon cropping, especially Android adaptive icon safe zones.
  5. Use composed icons for Android β€” ForegroundFile + ForegroundScale="0.65" ensures the foreground stays within the safe zone.

Quick Troubleshooting

Symptom Likely fix
Icon appears blank or white Check Color vs TintColor; ensure SVG paths exist
Splash shows default .NET logo Verify MauiSplashScreen item is in the .csproj
Android icon looks clipped Use composed icon with ForegroundScale="0.65"
Build error on SVG Simplify SVG or switch to PNG with Resize="false"
Icon wrong size on one platform Set BaseSize explicitly in the .csproj

Checklist

  • MauiIcon item exists in .csproj with Color set
  • MauiSplashScreen item exists in .csproj with Color and BaseSize
  • Android: using composed icon with ForegroundScale for safe zone compliance
  • SVG sources are simple (no gradients/filters) or PNG fallback with Resize="false"
  • Tested on a real device (not just emulator) for density and cropping

Source: SKILL.md on GitHub

No alerts15d4 checks Β· Risk SAFE
  • Gen Agent Trust Hub15d

    This skill is a documentation-only resource for .NET MAUI development. It provides guidance and XML configuration snippets for managing app icons and splash screens. No security risks, executable code, or data exfiltration patterns were detected.

  • Socket15d

    No alerts

  • Snyk15d

    Risk: LOW Β· No issues

  • Runlayer7mo

    1 file scanned Β· No issues

Signed by skilld at 0f66779. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 months ago.

Steadyupdated 6 months ago

README badge

README badge for davidortinau/maui-skills/maui-app-icons-splash