diff --git a/atomicservicenavigation/interfaces/atomicservicenavigation.js b/atomicservicenavigation/interfaces/atomicservicenavigation.js index 66d02a081015c734de7659797f7c5df48e3e2348..421689b2c21cede23ef241d99d48a376c144dbf1 100644 --- a/atomicservicenavigation/interfaces/atomicservicenavigation.js +++ b/atomicservicenavigation/interfaces/atomicservicenavigation.js @@ -462,7 +462,12 @@ export class AtomicServiceNavigation extends ViewPU { */ freshMenubarAvoidAreaWidth(mainWindow) { setTimeout(() => { - let menubarX = this.getUIContext().getAtomicServiceBar()?.getBarRect().x; + const AtomicServiceBar = this.getUIContext().getAtomicServiceBar(); + if (!AtomicServiceBar) { + this.titleBuilderPaddingEndWidth = 0; + return; + } + let menubarX = AtomicServiceBar.getBarRect().x; let corretionWidth = 0; if (menubarX > MENUBAR_X_FIRST_THRESHOLD) { const mainWindowWidth = px2vp(mainWindow.getWindowProperties()?.windowRect?.width) - menubarX; @@ -471,7 +476,7 @@ export class AtomicServiceNavigation extends ViewPU { else if (menubarX < MENUBAR_X_SECOND_THRESHOLD) { corretionWidth = menubarX + MENUBAR_CORRECTION_OFFSET_VALUE; } - let width2 = this.getUIContext().getAtomicServiceBar()?.getBarRect().width; + let width2 = AtomicServiceBar.getBarRect().width; this.titleBuilderPaddingEndWidth = corretionWidth > width2 ? corretionWidth : width2; }, 100); } diff --git a/atomicservicenavigation/source/atomicservicenavigation.ets b/atomicservicenavigation/source/atomicservicenavigation.ets index b82f2d3cd97f22067b5ba914e156de96f54e44e0..88660bc34c4993e21fe59ec441b5ce0020efde6b 100644 --- a/atomicservicenavigation/source/atomicservicenavigation.ets +++ b/atomicservicenavigation/source/atomicservicenavigation.ets @@ -14,7 +14,7 @@ */ import { BusinessError, Callback } from '@ohos.base'; -import { curves, LengthMetrics, SymbolGlyphModifier, window } from '@kit.ArkUI'; +import { curves, LengthMetrics, SymbolGlyphModifier, window, AtomicServiceBar } from '@kit.ArkUI'; import { bundleManager, common } from '@kit.AbilityKit'; import { hilog } from '@kit.PerformanceAnalysisKit'; import { i18n } from '@kit.LocalizationKit'; @@ -227,7 +227,12 @@ export struct AtomicServiceNavigation { */ private freshMenubarAvoidAreaWidth(mainWindow: window.Window): void { setTimeout(() => { - let menubarX: number = this.getUIContext().getAtomicServiceBar()?.getBarRect().x; + const AtomicServiceBar: Nullable = this.getUIContext().getAtomicServiceBar(); + if (!AtomicServiceBar) { + this.titleBuilderPaddingEndWidth = 0; + return; + } + let menubarX: number = AtomicServiceBar.getBarRect().x; let corretionWidth: number = 0; if (menubarX > MENUBAR_X_FIRST_THRESHOLD) { const mainWindowWidth: number = px2vp(mainWindow.getWindowProperties()?.windowRect?.width) - menubarX; @@ -235,7 +240,7 @@ export struct AtomicServiceNavigation { } else if (menubarX < MENUBAR_X_SECOND_THRESHOLD) { corretionWidth = menubarX + MENUBAR_CORRECTION_OFFSET_VALUE; } - let width2: number = this.getUIContext().getAtomicServiceBar()?.getBarRect().width; + let width2: number = AtomicServiceBar.getBarRect().width; this.titleBuilderPaddingEndWidth = corretionWidth > width2 ? corretionWidth : width2; }, 100); }