Skip to content

Add SoftInputKeyboardPopup and integrate keyboard handling for popups#3117

Open
FabriBertani wants to merge 3 commits intoCommunityToolkit:mainfrom
FabriBertani:bug/keybpard_overlapping_on_popup-issue
Open

Add SoftInputKeyboardPopup and integrate keyboard handling for popups#3117
FabriBertani wants to merge 3 commits intoCommunityToolkit:mainfrom
FabriBertani:bug/keybpard_overlapping_on_popup-issue

Conversation

@FabriBertani
Copy link
Contributor

@FabriBertani FabriBertani commented Feb 24, 2026

Description of Change

Fix added for the issue related to the OS keyboard overlapping the popup content on Android and iOS, with backward compatibility to .NET9
This fix behaves on both platforms the same as Android adjust resize input option, by pushing the popup content above the keyboard.

Linked Issues

PR Checklist

  • Has a linked Issue, and the Issue has been approved(bug) or Championed (feature/proposal)
  • Has tests (if omitted, state reason in description)
  • Has samples (if omitted, state reason in description)
  • Rebased on top of main at time of PR
  • Changes adhere to coding standard
  • Documentation created or updated: https://github.com/MicrosoftDocs/CommunityToolkit/pulls

Additional information

  • Tested on .Net Maui 9 and 10.
  • Android:
    • 16
    • 15
    • 14
  • iOS:
    • iPhone 15, iPhone 15 Pro, iPhone SE - 17.5
    • iPhone 17 Pro - 26.2

Copy link
Member

@pictos pictos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a small adjustments, also can you remove the comments on code?

using CommunityToolkit.Maui.Extensions;
#if ANDROID
using Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific;
#elif IOS && !NET10_0_OR_GREATER
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you can have back compatibility, this version will not install on NET 9 anyway. On toolkit we only support the current .NET version

{
Opened?.Invoke(this, EventArgs.Empty);

#if ANDROID
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

instead of using #ifs can you create a platform file (Popup.android.cs) and put the code there? You can define partial void methods to implement and called from the shared layer.

On<iOS>().SetModalPresentationStyle(UIModalPresentationStyle.OverFullScreen);
NavigationPage.SetHasNavigationBar(this, false);

#if NET10_0_OR_GREATER
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can remove this

@FabriBertani
Copy link
Contributor Author

Just a small adjustments, also can you remove the comments on code?

Just the comments or the summaries as well?

@pictos
Copy link
Member

pictos commented Feb 25, 2026

Just a small adjustments, also can you remove the comments on code?

Just the comments or the summaries as well?

just the comments, the summaries are fine

@FabriBertani
Copy link
Contributor Author

done

Copy link
Member

@pictos pictos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for you contribution!
LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants