maui-safe-area

Featured

.NET MAUI safe area and edge-to-edge layout guidance for .NET 10+. Covers the new SafeAreaEdges property, SafeAreaRegions enum, per-edge control, keyboard avoidance, Blazor Hybrid CSS safe areas, migration from legacy iOS-only APIs, and platform-specific behavior for Android, iOS, and Mac Catalyst. USE FOR: "safe area", "edge-to-edge", "SafeAreaEdges", "SafeAreaRegions", "keyboard avoidance", "notch insets", "status bar overlap", "iOS safe area", "Android edge-to-edge", "content behind status bar", "UseSafeArea migration", "soft input keyboard", "IgnoreSafeArea replacement". DO NOT USE FOR: general layout or grid design (use Grid and StackLayout), app lifecycle handling (use maui-app-lifecycle), theming or styling (use maui-theming), or Shell navigation structure.

Web & Frontend 483 stars 36 forks Updated today MIT

Install

View on GitHub

Quality Score: 92/100

Stars 20%
89
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Safe Area & Edge-to-Edge Layout (.NET 10+) .NET 10 introduces a **brand-new, cross-platform safe area API** that replaces the legacy iOS-only `UseSafeArea` and the layout-level `IgnoreSafeArea` properties. The new `SafeAreaEdges` property and `SafeAreaRegions` flags enum give you per-edge, per-control safe area management on Android, iOS, and Mac Catalyst from a single API surface. > **This is new API surface in .NET 10.** If the project targets .NET 9 or earlier, these APIs do not exist. Guide the developer to the legacy `ios:Page.UseSafeArea` and `Layout.IgnoreSafeArea` properties instead. ## When to Use - Content overlaps status bar, notch, Dynamic Island, or home indicator after upgrading to .NET 10 - Implementing edge-to-edge / immersive layouts (photo viewers, video players, maps) - Keyboard avoidance for chat or form UIs - Migrating from `ios:Page.UseSafeArea`, `Layout.IgnoreSafeArea`, or `WindowSoftInputModeAdjust.Resize` - Blazor Hybrid apps that need CSS `env(safe-area-inset-*)` coordination - Mixed layouts with an edge-to-edge header but a safe-area-respecting body ## When Not to Use - Projects targeting .NET 9 or earlier — use the legacy iOS-specific APIs - General page layout questions unrelated to system bars or keyboard — use standard layout guidance - App lifecycle or navigation structure — use maui-app-lifecycle or Shell guidance - Theming or visual styling — use the **maui-theming** skill ## Inputs - Target framework: must be `net10.0-*` or later f...

Details

Author
managedcode
Repository
managedcode/dotnet-skills
Created
6 months ago
Last Updated
today
Language
C#
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category

Web & Frontend Featured

maui

Build, review, or migrate .NET MAUI applications across Android, iOS, macOS, and Windows with correct cross-platform UI, platform integration, and native packaging assumptions. USE FOR: working on cross-platform mobile or desktop UI in .NET MAUI; integrating device capabilities, navigation, or platform-specific code; migrating Xamarin.Forms or aligning. DO NOT USE FOR: unrelated stacks; generic tasks that do not need this specific guidance. INVOKES: inspect the repository context, edit targeted files, and run relevant build, test, lint, or validation commands when changes are made.

483 Updated today
managedcode
AI & Automation Listed

impeccable-ios

iOS and iPadOS platform conventions for native apps built with SwiftUI, UIKit, React Native, Expo, or Flutter. Use when building or reviewing iOS UI. Covers Human Interface Guidelines conformance as the governing rulebook, expressing brand through the layer the platform leaves open, and the iOS slop test for controls that read as ported from a website.

3 Updated today
JZKK720
Web & Frontend Featured

maui-app-lifecycle

.NET MAUI app lifecycle guidance — the four app states, cross-platform Window lifecycle events (Created, Activated, Deactivated, Stopped, Resumed, Destroying), platform-specific lifecycle mapping, backgrounding and resume behavior, and state-preservation patterns. USE FOR: "app lifecycle", "window lifecycle events", "save state on background", "resume app", "OnStopped", "OnResumed", "backgrounding", "deactivated event", "ConfigureLifecycleEvents", "platform lifecycle hooks". DO NOT USE FOR: navigation events (use maui-shell-navigation), dependency injection setup (use maui-dependency-injection), platform API invocation (use conditional compilation and partial classes).

483 Updated today
managedcode