From 590603302161e2bbb70fcc7ba3250dade3b7a24f Mon Sep 17 00:00:00 2001 From: felixkrautschuk Date: Tue, 17 Mar 2026 16:00:02 +0100 Subject: [PATCH] fix(android): enable edge-to-edge only for fullscreen modals to prevent layout-issues --- packages/core/ui/core/view/index.android.ts | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/packages/core/ui/core/view/index.android.ts b/packages/core/ui/core/view/index.android.ts index 3f22681c0f..fea1f8e3c8 100644 --- a/packages/core/ui/core/view/index.android.ts +++ b/packages/core/ui/core/view/index.android.ts @@ -259,15 +259,12 @@ function initializeDialogFragment() { this._windowSoftInputMode = options.windowSoftInputMode; this.setStyle(androidx.fragment.app.DialogFragment.STYLE_NO_TITLE, 0); - let theme = this.getTheme(); - if (this._fullscreen) { - // In fullscreen mode, get the application's theme. - theme = this.getActivity().getApplicationInfo().theme; - } - + const theme = this._fullscreen ? this.getActivity().getApplicationInfo().theme : this.getTheme(); const dialog = new DialogImpl(this, this.getActivity(), theme); - Utils.android.enableEdgeToEdge(this.getActivity(), dialog.getWindow()); + if (this._fullscreen) { + Utils.android.enableEdgeToEdge(this.getActivity(), dialog.getWindow()); + } // do not override alignment unless fullscreen modal will be shown; // otherwise we might break component-level layout: @@ -1333,7 +1330,7 @@ export class View extends ViewCommon { const controller = window.getInsetsController?.(); if (controller) { const APPEARANCE_LIGHT_STATUS_BARS = android.view.WindowInsetsController?.APPEARANCE_LIGHT_STATUS_BARS; - + if (typeof value === 'string') { this.style.statusBarStyle = value; if (value === 'light') {