Skip to content

[MAUI 10] Layout breaks on first navigation (Shell // route) until soft keyboard appears/disappears (Android + iOS) #33038

@v283

Description

@v283

Description

After upgrading from .NET 9 → .NET 10 (MAUI 10), layout rendering becomes broken on first navigation when using:

await Shell.Current.GoToAsync("//signin");

The page is shifted/collapsed/incorrectly arranged until the soft keyboard appears and disappears.
As soon as I tap an Entry → keyboard opens → hide keyboard → layout becomes correct.

This means the initial layout pass is wrong, and only a soft-input size change triggers correct measure/arrange.

This did NOT happen in .NET 9 on the same codebase.

Affected platforms

Android (primary issue)

iOS (same behavior)

Appears only in MAUI 10.

Reproduction Steps

  1. Create a ContentPage with any layout (Grid / VerticalStackLayout).
  2. Navigate to it using: await Shell.Current.GoToAsync("//signin");
  3. Observe that the page loads with broken / shifted layout.
  4. Tap Entry → keyboard shows → hide keyboard.
  5. Layout suddenly becomes correct.

Expected Behavior

Page should render correctly on first appearance, without requiring a keyboard event to correct the layout.

Actual Behavior

First layout is incorrect.

Only after soft keyboard open/close does MAUI recalc layout properly.

InvalidateMeasure, ForceLayout, IView.InvalidateMeasure, Loaded event, delayed dispatch, etc. do NOT fix the issue.

This strongly suggests a regression in the new Layout system and/or Shell navigation lifecycle.

Notes

Issue appears when navigating with Shell absolute route (//route).

Same code works perfectly in .NET 9.

Attempts to fix using: IgnoreSafeArea , UseSafeArea, SafeAreaEdges, Dispatcher.DispatchDelayed, InvalidateMeasure → no effect.

Keyboard resize event is the only thing that fixes the page.

Sample XAML (minimal reproduction)
`

<VerticalStackLayout Spacing="16" Padding="20">

    <Image
        Source="dotnet_bot.png"
        HeightRequest="150"
        Aspect="AspectFit" />

    <Entry Placeholder="Email" />
    <Entry Placeholder="Password" />
    <Button Text="Sign in" />

</VerticalStackLayout>
`

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-controls-shellShell Navigation, Routes, Tabs, Flyouti/regressionThis issue described a confirmed regression on a currently supported versionp/0Current heighest priority issues that we are targeting for a release.platform/androidregressed-in-10-rc2s/triagedIssue has been revieweds/verifiedVerified / Reproducible Issue ready for Engineering Triage

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions