[Android, Windows] Fix for FlyoutPage toolbar button not updating on orientation change #31962
+107
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Root Cause
On Android and Windows, the
FlyoutPage
toolbar button did not update correctly when the device orientation changed. TheNavigationPageToolbar
lacked orientation change detection, soShouldShowToolbarButton()
was never re-evaluated after rotation.Description of Change
Added orientation change handling in
NavigationPageToolbar
for Android and Windows by subscribing toDeviceDisplay.MainDisplayInfoChanged
. On rotation, the toolbar button visibility is re-evaluated by callingApplyChanges
, which internally checksShouldShowToolbarButton()
. The subscription is cleaned up on disconnect to prevent leaks. This ensures the toolbar button updates correctly across orientation changes while following MAUI’s existing patterns for cross-platform event handling.Issues Fixed
Fixes #24468
Tested the behaviour in the following platforms
Note:
The fix was implemented and tested on Android, iOS, and Windows platforms, as orientation changes could not be performed on macOS.
Output Video
Beforefix.mov
Afterfix.mov