From f03586bdcc648888a484cb5f724af5df58c16c8d Mon Sep 17 00:00:00 2001 From: wangweiyuan Date: Fri, 25 Jul 2025 10:43:42 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E5=9F=BA=E7=A1=80=E8=83=BD=E5=8A=9B?= =?UTF-8?q?=E3=80=91=E5=85=A8=E6=A8=A1=E6=80=81=E5=9C=A8=E5=A4=9A=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E4=B8=8B=E7=9A=84=E5=BD=A2=E6=80=81=E8=BD=AC=E6=8D=A2?= =?UTF-8?q?=EF=BC=8C=E4=BF=AE=E5=A4=8D=E6=A8=AA=E7=AB=96=E5=B1=8F=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E6=BC=8F=E5=87=BAdragBar=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wangweiyuan --- .../content_cover/sheet_content_cover_object.cpp | 11 +++++++++++ .../sheet/content_cover/sheet_content_cover_object.h | 2 +- .../pattern/overlay/sheet_content_cover_test_ng.cpp | 5 ++++- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/frameworks/core/components_ng/pattern/sheet/content_cover/sheet_content_cover_object.cpp b/frameworks/core/components_ng/pattern/sheet/content_cover/sheet_content_cover_object.cpp index ae578d3eb09..a91bac9e062 100644 --- a/frameworks/core/components_ng/pattern/sheet/content_cover/sheet_content_cover_object.cpp +++ b/frameworks/core/components_ng/pattern/sheet/content_cover/sheet_content_cover_object.cpp @@ -100,6 +100,17 @@ void SheetContentCoverObject::ClipSheetNode() renderContext->UpdateBackShadow(Shadow()); } +void SheetContentCoverObject::BeforeCreateLayoutWrapper() +{ + auto sheetPattern = GetPattern(); + CHECK_NULL_VOID(sheetPattern); + auto dragBarNode = sheetPattern->GetDragBarNode(); + CHECK_NULL_VOID(dragBarNode); + auto dragBarLayoutProperty = dragBarNode->GetLayoutProperty(); + CHECK_NULL_VOID(dragBarLayoutProperty); + dragBarLayoutProperty->UpdateVisibility(VisibleType::GONE); +} + void SheetContentCoverObject::SetFinishEventForAnimationOption( AnimationOption& option, bool isTransitionIn, bool isFirstTransition) { diff --git a/frameworks/core/components_ng/pattern/sheet/content_cover/sheet_content_cover_object.h b/frameworks/core/components_ng/pattern/sheet/content_cover/sheet_content_cover_object.h index 4b9c0f8ed7e..562307c3a4e 100644 --- a/frameworks/core/components_ng/pattern/sheet/content_cover/sheet_content_cover_object.h +++ b/frameworks/core/components_ng/pattern/sheet/content_cover/sheet_content_cover_object.h @@ -56,7 +56,7 @@ public: void HandleDragUpdate(const GestureEvent& info) override {}; void HandleDragEnd(float dragVelocity) override {}; - void BeforeCreateLayoutWrapper() override {}; + void BeforeCreateLayoutWrapper() override; SheetKeyboardAvoidMode GetAvoidKeyboardModeByDefault() const override { return SheetKeyboardAvoidMode::NONE; diff --git a/test/unittest/core/pattern/overlay/sheet_content_cover_test_ng.cpp b/test/unittest/core/pattern/overlay/sheet_content_cover_test_ng.cpp index af5814beff6..6bb3acf92fd 100644 --- a/test/unittest/core/pattern/overlay/sheet_content_cover_test_ng.cpp +++ b/test/unittest/core/pattern/overlay/sheet_content_cover_test_ng.cpp @@ -1508,6 +1508,7 @@ HWTEST_F(SheetContentCoverObjectTestNG, ContentCoverSheetLayoutAlgorithm1, TestS * @tc.expected: targetNode != nullptr */ SheetStyle style; + style.sheetType = SHEET_CONTENT_COVER; auto builder = FrameNode::CreateFrameNode(V2::COLUMN_ETS_TAG, ElementRegister::GetInstance()->MakeUniqueId(), AceType::MakeRefPtr(true)); auto callback = [](const std::string&) {}; @@ -1519,7 +1520,9 @@ HWTEST_F(SheetContentCoverObjectTestNG, ContentCoverSheetLayoutAlgorithm1, TestS ASSERT_NE(layoutProperty, nullptr); LayoutConstraintF layoutConstraint; layoutConstraint.maxSize = { 1000, 1000 }; - sheetNode->GetGeometryNode()->SetParentLayoutConstraint(layoutConstraint); + auto geometryNode = sheetNode->GetGeometryNode(); + ASSERT_NE(geometryNode, nullptr); + geometryNode->SetParentLayoutConstraint(layoutConstraint); layoutProperty->UpdateLayoutConstraint(layoutConstraint); layoutProperty->UpdateContentConstraint(); /** -- Gitee