diff --git a/frameworks/core/components/navigation_bar/navigation_bar_theme.h b/frameworks/core/components/navigation_bar/navigation_bar_theme.h index 80e7145deb5d7bed2fd98e70fb02eccc7e36a9f5..7be27eb1294f36e5ebe9bc597dd4953050144db9 100644 --- a/frameworks/core/components/navigation_bar/navigation_bar_theme.h +++ b/frameworks/core/components/navigation_bar/navigation_bar_theme.h @@ -24,6 +24,13 @@ #include "core/components/theme/theme_constants_defines.h" #include "core/components_ng/property/border_property.h" +namespace OHOS::Ace::NG { +inline Dimension SINGLE_LINE_TITLEBAR_HEIGHT = 56.0_vp; +inline Dimension DOUBLE_LINE_TITLEBAR_HEIGHT = 82.0_vp; +inline Dimension FULL_SINGLE_LINE_TITLEBAR_HEIGHT = 112.0_vp; +inline Dimension FULL_DOUBLE_LINE_TITLEBAR_HEIGHT = 138.0_vp; +} // namespace OHOS::Ace::NG + namespace OHOS::Ace { class NavigationBarTheme : public virtual Theme { @@ -235,6 +242,23 @@ public: theme->dividerGradientLightBlue_ = pattern->GetAttr("divider_light_blue", Color(0x7FCEDEFE)); theme->dividerGradientDarkBlue_ = pattern->GetAttr("divider_dark_blue", Color(0xFF0A59F7)); theme->navigationBack_ = pattern->GetAttr("navigation_back", ""); + NG::SINGLE_LINE_TITLEBAR_HEIGHT = pattern->GetAttr("single_line_titlebar_height", 56.0_vp); + NG::DOUBLE_LINE_TITLEBAR_HEIGHT = pattern->GetAttr("double_line_titlebar_height", 82.0_vp); + NG::FULL_SINGLE_LINE_TITLEBAR_HEIGHT = + pattern->GetAttr("full_single_line_titlebar_height", 112.0_vp); + NG::FULL_DOUBLE_LINE_TITLEBAR_HEIGHT = + pattern->GetAttr("full_double_line_titlebar_height", 138.0_vp); + theme->iconBorderWidth_ = pattern->GetAttr("titlebar_icon_border_width", 0.0_vp); + theme->iconBorderColor_ = pattern->GetAttr("titlebar_icon_border_color", Color(0x0c000000)); + theme->menuItemFocusPadding_ = pattern->GetAttr("menuitem_focus_padding", 0.0_vp); + theme->fullModeTitleOneLineOffsetY_ = + pattern->GetAttr("full_mode_title_one_line_offset_y", 0.0_vp); + theme->fullModeTitleTwoLineOffsetY_ = + pattern->GetAttr("full_mode_title_two_line_offset_y", 0.0_vp); + theme->titleOffsetX_ = pattern->GetAttr("title_offset_x", 0.0_vp); + theme->iconNeedFocusBgColor_ = static_cast(pattern->GetAttr("icon_need_focus_bg_color", 0.0)); + theme->navigationFocusBlendBgColor_ = + pattern->GetAttr("navigation_focus_blend_bg_color", Color(0x0c000000)); } }; @@ -736,7 +760,39 @@ public: { return navigationBack_; } - + const Dimension& GetIconBorderWidth() const + { + return iconBorderWidth_; + } + const Color& GetIconBorderColor() const + { + return iconBorderColor_; + } + const Dimension& GetMenuItemFocusPadding() const + { + return menuItemFocusPadding_; + } + const Dimension& GetFullModeTitleOneLineOffsetY() const + { + return fullModeTitleOneLineOffsetY_; + } + const Dimension& GetFullModeTitleTwoLineOffsetY() const + { + return fullModeTitleTwoLineOffsetY_; + } + const Dimension& GetTitleOffsetX() const + { + return titleOffsetX_; + } + bool GetIconNeedFocusBgColor() + { + return iconNeedFocusBgColor_; + } + const Color& GetNavigationFocusBlendBgColor() const + { + return navigationFocusBlendBgColor_; + } + protected: NavigationBarTheme() = default; @@ -850,6 +906,14 @@ private: Color dragBarItemActiveColor_; Color dividerGradientLightBlue_; Color dividerGradientDarkBlue_; + Dimension iconBorderWidth_ = 0.0_vp; + Color iconBorderColor_; + Dimension menuItemFocusPadding_ = 0.0_vp; + Dimension fullModeTitleOneLineOffsetY_ = 0.0_vp; + Dimension fullModeTitleTwoLineOffsetY_ = 0.0_vp; + Dimension titleOffsetX_ = 0.0_vp; + bool iconNeedFocusBgColor_ = false; + Color navigationFocusBlendBgColor_; }; } // namespace OHOS::Ace diff --git a/frameworks/core/components_ng/pattern/button/button_pattern.cpp b/frameworks/core/components_ng/pattern/button/button_pattern.cpp index 155ae8db8036d03370852301bf28db59115c4ddd..37f56417d09403b90900894312e00013f91a878f 100644 --- a/frameworks/core/components_ng/pattern/button/button_pattern.cpp +++ b/frameworks/core/components_ng/pattern/button/button_pattern.cpp @@ -1421,6 +1421,10 @@ void ButtonPattern::SetBlurButtonStyle(RefPtr& renderContext, Ref scaleModify_ = false; renderContext->SetScale(1.0f, 1.0f); } + if (navMenuItemNeedFocus_) { + navMenuItemNeedFocus_ = false; + renderContext->BlendBgColor(navigationFocusBlendBgColor_); + } if (bgColorModify_) { bgColorModify_ = false; renderContext->UpdateBackgroundColor(buttonTheme->GetBgColor(buttonStyle, buttonRole)); @@ -1450,6 +1454,9 @@ void ButtonPattern::SetFocusButtonStyle(RefPtr& renderContext, Re shadowModify_ = true; } SetButtonScale(renderContext, buttonTheme); + if (navMenuItemNeedFocus_) { + renderContext->BlendBgColor(navigationFocusBlendBgColor_); + } bgColorModify_ = renderContext->GetBackgroundColor() == buttonTheme->GetBgColor(buttonStyle, buttonRole); if (bgColorModify_) { if (buttonStyle == ButtonStyleMode::TEXT) { @@ -1535,4 +1542,19 @@ void ButtonPattern::HandleFocusStatusStyle() }; focusHub->SetOnBlurInternal(blurTask); } + +void ButtonPattern::SetNavigationBgColor(const Color& navigationBgColor) +{ + navigationBgColor_ = navigationBgColor; +} + +void ButtonPattern::SetNavigationFocusBlendBgColor(const Color& navigationFocusBlendBgColor) +{ + navigationFocusBlendBgColor_ = navigationFocusBlendBgColor; +} + +void ButtonPattern::SetNavMenuItemNeedFocus(bool navMenuItemNeedFocus) +{ + navMenuItemNeedFocus_ = navMenuItemNeedFocus; +} } // namespace OHOS::Ace::NG diff --git a/frameworks/core/components_ng/pattern/button/button_pattern.h b/frameworks/core/components_ng/pattern/button/button_pattern.h index 3b14a4c70b0a38555f2b13bf768289fe37ce25cb..11b3e145104b205273035d3c2dd723461b66eb2c 100644 --- a/frameworks/core/components_ng/pattern/button/button_pattern.h +++ b/frameworks/core/components_ng/pattern/button/button_pattern.h @@ -225,6 +225,12 @@ public: std::vector StringToVector(const std::string& str, char delimiter = ' '); + void SetNavigationBgColor(const Color& navigationBgColor); + + void SetNavigationFocusBlendBgColor(const Color& navigationFocusBgColor); + + void SetNavMenuItemNeedFocus(bool navMenuItemNeedFocus); + protected: void OnModifyDone() override; void OnAfterModifyDone() override; @@ -280,6 +286,9 @@ private: std::optional blendClickColor_ = std::nullopt; std::optional blendHoverColor_ = std::nullopt; + Color navigationBgColor_; + Color navigationFocusBlendBgColor_; + bool navMenuItemNeedFocus_ = false; bool isTextFadeOut_ = false; bool isColorUpdateFlag_ = false; diff --git a/frameworks/core/components_ng/pattern/navigation/navigation_declaration.h b/frameworks/core/components_ng/pattern/navigation/navigation_declaration.h index d9c271e4b663f0fc24eb98a0c16243b56091fe2d..94f9a476fee97a0cd1f70baa57e7f56ef6e2600d 100644 --- a/frameworks/core/components_ng/pattern/navigation/navigation_declaration.h +++ b/frameworks/core/components_ng/pattern/navigation/navigation_declaration.h @@ -89,13 +89,9 @@ constexpr Dimension DEFAULT_DIVIDER_HOT_ZONE_HORIZONTAL_PADDING = 2.0_vp; constexpr int32_t DIVIDER_HOT_ZONE_HORIZONTAL_PADDING_NUM = 2; // navigation content -constexpr Dimension SINGLE_LINE_TITLEBAR_HEIGHT = 56.0_vp; -constexpr Dimension DOUBLE_LINE_TITLEBAR_HEIGHT = 82.0_vp; constexpr Dimension DEFAULT_MIN_CONTENT_WIDTH = 360.0_vp; // navBar -constexpr Dimension FULL_SINGLE_LINE_TITLEBAR_HEIGHT = 112.0_vp; -constexpr Dimension FULL_DOUBLE_LINE_TITLEBAR_HEIGHT = 138.0_vp; constexpr Dimension NAV_HORIZONTAL_MARGIN_L = 16.0_vp; // ohos_id_elements_margin_horizontal_l constexpr Dimension NAV_HORIZONTAL_MARGIN_M = 8.0_vp; // ohos_id_elements_margin_horizontal_m constexpr Dimension MENU_ITEM_PADDING = 24.0_vp; diff --git a/frameworks/core/components_ng/pattern/navigation/navigation_model_ng.cpp b/frameworks/core/components_ng/pattern/navigation/navigation_model_ng.cpp index 872ff1e59820e04dc8860c1bf807033fd808c0bc..92a3656dfd6ecc151b69009621149e5093910022 100644 --- a/frameworks/core/components_ng/pattern/navigation/navigation_model_ng.cpp +++ b/frameworks/core/components_ng/pattern/navigation/navigation_model_ng.cpp @@ -893,6 +893,12 @@ bool NavigationModelNG::UpdateBackButtonProperty(const RefPtr& backBu backButtonPadding = MENU_BUTTON_PADDING; backButtonColor = theme->GetCompBackgroundColor(); } + BorderWidthProperty borderWidthProperty; + borderWidthProperty.SetBorderWidth(theme->GetIconBorderWidth()); + backButtonLayoutProperty->UpdateBorderWidth(borderWidthProperty); + BorderColorProperty borderColorProperty; + borderColorProperty.SetColor(theme->GetIconBorderColor()); + renderContext->UpdateBorderColor(borderColorProperty); backButtonLayoutProperty->UpdateUserDefinedIdealSize( CalcSize(CalcLength(backButtonWidth), CalcLength(backButtonHeight))); backButtonLayoutProperty->UpdateBorderRadius(BorderRadiusProperty(backButtonRadiusSize)); diff --git a/frameworks/core/components_ng/pattern/navigation/navigation_title_util.cpp b/frameworks/core/components_ng/pattern/navigation/navigation_title_util.cpp index a9acb30a987338d9a30690e035639a4103387b9a..3ab6ee411b3d460396dbb4fcdd4134e3d37e6c20 100644 --- a/frameworks/core/components_ng/pattern/navigation/navigation_title_util.cpp +++ b/frameworks/core/components_ng/pattern/navigation/navigation_title_util.cpp @@ -249,6 +249,9 @@ RefPtr NavigationTitleUtil::CreateMenuItemButton(const RefPtrsetComponentButtonType(ComponentButtonType::NAVIGATION); if (AceApplicationInfo::GetInstance().GreatOrEqualTargetAPIVersion(PlatformVersion::VERSION_TWELVE)) { buttonPattern->SetBlendColor(theme->GetBackgroundPressedColor(), theme->GetBackgroundHoverColor()); + buttonPattern->SetNavigationBgColor(theme->GetCompBackgroundColor()); + buttonPattern->SetNavMenuItemNeedFocus(theme->GetIconNeedFocusBgColor()); + buttonPattern->SetNavigationFocusBlendBgColor(theme->GetNavigationFocusBlendBgColor()); buttonPattern->SetFocusBorderColor(theme->GetBackgroundFocusOutlineColor()); buttonPattern->SetFocusBorderWidth(theme->GetBackgroundFocusOutlineWeight()); } else { @@ -280,6 +283,13 @@ RefPtr NavigationTitleUtil::CreateMenuItemButton(const RefPtrGetCompPadding()); margin.end = CalcLength(theme->GetCompPadding()); menuItemLayoutProperty->UpdateMargin(margin); + BorderWidthProperty borderWidthProperty; + borderWidthProperty.SetBorderWidth(theme->GetIconBorderWidth()); + menuItemLayoutProperty->UpdateBorderWidth(borderWidthProperty); + BorderColorProperty borderColorProperty; + borderColorProperty.SetColor(theme->GetIconBorderColor()); + renderContext->UpdateBorderColor(borderColorProperty); + focusHub->SetFocusPadding(theme->GetMenuItemFocusPadding()); } else { menuItemLayoutProperty->UpdateUserDefinedIdealSize( CalcSize(CalcLength(BACK_BUTTON_SIZE), CalcLength(BACK_BUTTON_SIZE))); diff --git a/frameworks/core/components_ng/pattern/navigation/title_bar_layout_algorithm.cpp b/frameworks/core/components_ng/pattern/navigation/title_bar_layout_algorithm.cpp index b728d226a165d3bb87955dfe4c17992ac0410f00..ef98660ccc2e7c51a57aab6b605da1fa847f68b5 100644 --- a/frameworks/core/components_ng/pattern/navigation/title_bar_layout_algorithm.cpp +++ b/frameworks/core/components_ng/pattern/navigation/title_bar_layout_algorithm.cpp @@ -579,6 +579,17 @@ float TitleBarLayoutAlgorithm::GetFullModeTitleOffsetY(float titleHeight, float auto titleSpace = titleBarHeight - menuOccupiedHeight_ - static_cast(paddingTopTwolines_.ConvertToPx()); auto titleRealHeight = titleHeight + subtitleHeight + navTitleSpaceVertical_; float dividerOffset = 2.0f; + auto theme = NavigationGetTheme(); + CHECK_NULL_RETURN(theme, offsetY); + float titleOffsetY = 0.0f; + if (NearZero(subtitleHeight)) { + titleOffsetY = theme->GetFullModeTitleOneLineOffsetY().ConvertToPx(); + } else { + titleOffsetY = theme->GetFullModeTitleTwoLineOffsetY().ConvertToPx(); + } + if (titleOffsetY != 0.0f) { + return titleSpace - titleRealHeight - titleOffsetY; + } if (NearZero(subtitleHeight) && titleHeight < titleBarHeight - menuOccupiedHeight_) { offsetY = (titleBarHeight - menuOccupiedHeight_ - titleRealHeight) / dividerOffset; return offsetY; @@ -718,6 +729,9 @@ void TitleBarLayoutAlgorithm::LayoutTitle(LayoutWrapper* layoutWrapper, const Re auto offsetX = isCustom ? (paddingLeft_ + navBackIconWidth_ + navButtonPadding_) : (paddingLeft_ + navBackIconWidth_ + navHorizontalMargin_); offsetX = ChangeOffsetByDirection(layoutWrapper, geometryNode, offsetX); + auto theme = NavigationGetTheme(); + CHECK_NULL_VOID(theme); + offsetX += theme->GetTitleOffsetX().ConvertToPx(); OffsetF offset = OffsetF(offsetX, offsetY); geometryNode->SetMarginFrameOffset(offset); titleWrapper->Layout(); @@ -926,8 +940,10 @@ void TitleBarLayoutAlgorithm::LayoutSubtitle(LayoutWrapper* layoutWrapper, const } else { occupiedWidth = paddingLeft_ + navBackIconWidth_ + navHorizontalMargin_; } + auto theme = NavigationGetTheme(); + CHECK_NULL_VOID(theme); auto miniOffsetX = ChangeOffsetByDirection(layoutWrapper, geometryNode, occupiedWidth); - OffsetF offset = OffsetF(miniOffsetX, offsetY); + OffsetF offset = OffsetF(miniOffsetX + theme->GetTitleOffsetX().ConvertToPx(), offsetY); geometryNode->SetMarginFrameOffset(offset); subtitleWrapper->Layout(); } diff --git a/test/unittest/core/pattern/button/button_function_test_ng.cpp b/test/unittest/core/pattern/button/button_function_test_ng.cpp index 1d7524a5877da5f8d7a211308dcb4eff45c28334..ebd8f3b8d265e515c17b792b1a3970ef19e9f8cd 100644 --- a/test/unittest/core/pattern/button/button_function_test_ng.cpp +++ b/test/unittest/core/pattern/button/button_function_test_ng.cpp @@ -2404,4 +2404,81 @@ HWTEST_F(ButtonFunctionTestNg, StringToVector, TestSize.Level1) auto ret = pattern->StringToVector("hello,world", ','); EXPECT_EQ(ret, vec); } + +/** + * @tc.name: SetBlurButtonStyle + * @tc.desc: test SetBlurButtonStyle. + * @tc.type: FUNC + */ +HWTEST_F(ButtonFunctionTestNg, SetBlurButtonStyle, TestSize.Level1) +{ + /** + * @tc.steps: step1. Create button frame node and get pattern. + * @tc.expected: step1. Button node and pattern are not null. + */ + ButtonModelNG buttonModelNG; + buttonModelNG.CreateWithLabel(CREATE_VALUE); + auto buttonNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + auto pattern = buttonNode->GetPattern(); + ASSERT_NE(pattern, nullptr); + + auto pipelineContext = PipelineBase::GetCurrentContext(); + ASSERT_NE(pipelineContext, nullptr); + auto theme = pipelineContext->GetTheme(); + ASSERT_NE(theme, nullptr); + auto layout = AceType::MakeRefPtr(); + ASSERT_NE(layout, nullptr); + auto renderContext = buttonNode->GetRenderContext(); + ASSERT_NE(renderContext, nullptr); + auto textNode = FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 1, AceType::MakeRefPtr()); + ASSERT_NE(textNode, nullptr); + pattern->focusTextColorModify_ = false; + pattern->bgColorModify_ = false; + pattern->isTextFadeOut_ = false; + pattern->navMenuItemNeedFocus_ = false; + pattern->SetBlurButtonStyle(renderContext, theme, layout, textNode); + EXPECT_FALSE(pattern->navMenuItemNeedFocus_); + pattern->navMenuItemNeedFocus_ = true; + pattern->SetBlurButtonStyle(renderContext, theme, layout, textNode); + EXPECT_FALSE(pattern->navMenuItemNeedFocus_); +} + +/** + * @tc.name: SetFocusButtonStyle + * @tc.desc: test SetFocusButtonStyle. + * @tc.type: FUNC + */ +HWTEST_F(ButtonFunctionTestNg, SetFocusButtonStyle, TestSize.Level1) +{ + /** + * @tc.steps: step1. Create button frame node and get pattern. + * @tc.expected: step1. Button node and pattern are not null. + */ + ButtonModelNG buttonModelNG; + buttonModelNG.CreateWithLabel(CREATE_VALUE); + auto buttonNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + auto pattern = buttonNode->GetPattern(); + ASSERT_NE(pattern, nullptr); + + auto pipelineContext = PipelineBase::GetCurrentContext(); + ASSERT_NE(pipelineContext, nullptr); + auto theme = AceType::MakeRefPtr(); + ASSERT_NE(theme, nullptr); + auto layout = AceType::MakeRefPtr(); + ASSERT_NE(layout, nullptr); + auto renderContext = buttonNode->GetRenderContext(); + ASSERT_NE(renderContext, nullptr); + auto textNode = FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 1, AceType::MakeRefPtr()); + ASSERT_NE(textNode, nullptr); + pattern->navMenuItemNeedFocus_ = false; + Color colorOne = renderContext->GetFrontColorBlendValue(Color::BLACK); + pattern->navigationFocusBlendBgColor_ = Color::RED; + renderContext->UpdateBackgroundColor(Color::BLUE); + pattern->SetFocusButtonStyle(renderContext, theme, layout, textNode); + EXPECT_EQ(colorOne, renderContext->GetFrontColorBlendValue(Color::BLACK)); + pattern->navMenuItemNeedFocus_ = true; + pattern->SetFocusButtonStyle(renderContext, theme, layout, textNode); + Color colorTwo = renderContext->GetFrontColorBlendValue(Color::BLACK); + EXPECT_EQ(colorTwo, renderContext->GetFrontColorBlendValue(Color::BLACK)); +} } // namespace OHOS::Ace::NG diff --git a/test/unittest/core/pattern/navigation/navdestination_test_ng.cpp b/test/unittest/core/pattern/navigation/navdestination_test_ng.cpp index cab7450899e65123ac1f173799ad6bd55ac1878b..e3caf0ddfaf5f1c155366e10d5e5b4e4771198c8 100755 --- a/test/unittest/core/pattern/navigation/navdestination_test_ng.cpp +++ b/test/unittest/core/pattern/navigation/navdestination_test_ng.cpp @@ -1160,6 +1160,62 @@ HWTEST_F(NavdestinationTestNg, TitleBarLayoutAlgorithmGetFullModeTitleOffsetYTes titleHeight, subtitleHeight, titleBarGeometryNode), offsetY); } +/** + * @tc.name: TitleBarLayoutAlgorithmGetFullModeTitleOffsetYTest004 + * @tc.desc: test GetFullModeTitleOffsetY function + * @tc.type: FUNC + */ +HWTEST_F(NavdestinationTestNg, TitleBarLayoutAlgorithmGetFullModeTitleOffsetYTest004, TestSize.Level1) +{ + UIComponents ui; + InitChildrenComponent(ui); + float titleHeight = 100.0f; + float subtitleHeight = 0.0f; + ui.titleBarLayoutAlgorithm->menuOccupiedHeight_ = 2.0f; + auto titleBarGeometryNode = AceType::MakeRefPtr(); + ASSERT_NE(titleBarGeometryNode, nullptr); + titleBarGeometryNode->SetFrameSize(SizeF(100, 100)); + ui.titleBarLayoutAlgorithm->navTitleSpaceVertical_ = 1.0f; + float offsetY = -4.0f; + auto theme = AceType::MakeRefPtr(); + ASSERT_NE(theme, nullptr); + theme->fullModeTitleOneLineOffsetY_ = 5.0_vp; + auto themeManager = AceType::MakeRefPtr(); + MockPipelineContext::GetCurrent()->SetThemeManager(themeManager); + EXPECT_CALL(*themeManager, GetTheme(_)).WillRepeatedly(Return(theme)); + EXPECT_CALL(*themeManager, GetTheme(_, _)).WillRepeatedly(Return(theme)); + EXPECT_NE(ui.titleBarLayoutAlgorithm->GetFullModeTitleOffsetY(titleHeight, subtitleHeight, titleBarGeometryNode), + offsetY); +} + +/** + * @tc.name: TitleBarLayoutAlgorithmGetFullModeTitleOffsetYTest005 + * @tc.desc: test GetFullModeTitleOffsetY function + * @tc.type: FUNC + */ +HWTEST_F(NavdestinationTestNg, TitleBarLayoutAlgorithmGetFullModeTitleOffsetYTest005, TestSize.Level1) +{ + UIComponents ui; + InitChildrenComponent(ui); + float titleHeight = 100.0f; + float subtitleHeight = 1.0f; + ui.titleBarLayoutAlgorithm->menuOccupiedHeight_ = 2.0f; + auto titleBarGeometryNode = AceType::MakeRefPtr(); + ASSERT_NE(titleBarGeometryNode, nullptr); + titleBarGeometryNode->SetFrameSize(SizeF(100, 100)); + ui.titleBarLayoutAlgorithm->navTitleSpaceVertical_ = 1.0f; + float offsetY = -4.0f; + auto theme = AceType::MakeRefPtr(); + ASSERT_NE(theme, nullptr); + theme->fullModeTitleTwoLineOffsetY_ = 1.0_vp; + auto themeManager = AceType::MakeRefPtr(); + MockPipelineContext::GetCurrent()->SetThemeManager(themeManager); + EXPECT_CALL(*themeManager, GetTheme(_)).WillRepeatedly(Return(theme)); + EXPECT_CALL(*themeManager, GetTheme(_, _)).WillRepeatedly(Return(theme)); + EXPECT_NE(ui.titleBarLayoutAlgorithm->GetFullModeTitleOffsetY(titleHeight, subtitleHeight, titleBarGeometryNode), + offsetY); +} + /** * @tc.name: SetHideBackButton001 * @tc.desc: Test SetHideBackButton function.