From 1758d9580ba495c1343c6f274690013c2feacd90 Mon Sep 17 00:00:00 2001 From: niushuo0510 Date: Wed, 10 Sep 2025 20:25:19 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9menu=E5=8A=A8=E6=95=88?= =?UTF-8?q?=E5=BC=B9=E5=87=BA=E6=96=B9=E5=90=91=E4=B8=8Eplacement=E4=B8=80?= =?UTF-8?q?=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: niushuo0510 --- frameworks/core/components_ng/pattern/menu/menu_pattern.cpp | 3 +-- test/unittest/core/pattern/menu/menu_pattern_test_ng.cpp | 5 +++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/frameworks/core/components_ng/pattern/menu/menu_pattern.cpp b/frameworks/core/components_ng/pattern/menu/menu_pattern.cpp index 1efedcb8b0c..628b772f133 100644 --- a/frameworks/core/components_ng/pattern/menu/menu_pattern.cpp +++ b/frameworks/core/components_ng/pattern/menu/menu_pattern.cpp @@ -1657,11 +1657,10 @@ void MenuPattern::ShowMenuAppearAnimation() if (theme->GetMenuAnimationDuration()) { option.SetDuration(theme->GetMenuAnimationDuration()); option.SetCurve(theme->GetMenuAnimationCurve()); - renderContext->UpdateTransformCenter(DimensionOffset(Offset())); } else { option.SetCurve(MAIN_MENU_ANIMATION_CURVE); - renderContext->UpdateTransformCenter(DimensionOffset(GetTransformCenter())); } + renderContext->UpdateTransformCenter(DimensionOffset(GetTransformCenter())); AnimationUtils::Animate(option, [this, renderContext, menuPosition]() { CHECK_NULL_VOID(renderContext); if (IsSelectOverlayExtensionMenu()) { diff --git a/test/unittest/core/pattern/menu/menu_pattern_test_ng.cpp b/test/unittest/core/pattern/menu/menu_pattern_test_ng.cpp index 42811db8b23..c1740a97174 100644 --- a/test/unittest/core/pattern/menu/menu_pattern_test_ng.cpp +++ b/test/unittest/core/pattern/menu/menu_pattern_test_ng.cpp @@ -1382,6 +1382,11 @@ HWTEST_F(MenuPatternTestNg, MenuPatternTestNg079, TestSize.Level1) setApiVersion = 12; MockContainer::Current()->SetApiTargetVersion(setApiVersion); + auto pipeline = menuNode->GetContextWithCheck(); + ASSERT_NE(pipeline, nullptr); + auto theme = pipeline->GetTheme(); + ASSERT_NE(theme, nullptr); + theme->menuAnimationDuration_ = 20; EXPECT_TRUE(menuPattern->OnDirtyLayoutWrapperSwap(layoutWrapperNode, configDirtySwap)); radius.SetRadius(Dimension(20)); -- Gitee From e88e215610cb983bdc6b4d9e7f5bfed5c0ad6985 Mon Sep 17 00:00:00 2001 From: niushuo0510 Date: Thu, 11 Sep 2025 15:21:47 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8DselectMenu=E4=B8=8BmenuIt?= =?UTF-8?q?em=E9=80=89=E9=A1=B9=E5=AE=BD=E5=BA=A6=E4=B8=8D=E9=9A=8F?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E5=A4=A7=E5=B0=8F=E8=80=8C=E6=94=B9=E5=8F=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: niushuo0510 --- frameworks/core/components_ng/pattern/menu/menu_pattern.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frameworks/core/components_ng/pattern/menu/menu_pattern.cpp b/frameworks/core/components_ng/pattern/menu/menu_pattern.cpp index 628b772f133..97121d2e542 100644 --- a/frameworks/core/components_ng/pattern/menu/menu_pattern.cpp +++ b/frameworks/core/components_ng/pattern/menu/menu_pattern.cpp @@ -1657,10 +1657,11 @@ void MenuPattern::ShowMenuAppearAnimation() if (theme->GetMenuAnimationDuration()) { option.SetDuration(theme->GetMenuAnimationDuration()); option.SetCurve(theme->GetMenuAnimationCurve()); + renderContext->UpdateTransformCenter(DimensionOffset()); } else { option.SetCurve(MAIN_MENU_ANIMATION_CURVE); + renderContext->UpdateTransformCenter(DimensionOffset(GetTransformCenter())); } - renderContext->UpdateTransformCenter(DimensionOffset(GetTransformCenter())); AnimationUtils::Animate(option, [this, renderContext, menuPosition]() { CHECK_NULL_VOID(renderContext); if (IsSelectOverlayExtensionMenu()) { -- Gitee