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 ae578d3eb09cf2546049994dc5630462cc0c9aa0..a91bac9e0621b08b5699b51aa1084c6aeab4a08a 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 4b9c0f8ed7ed3ca58c0f158cde8cf3983f90fdb2..562307c3a4ec77eb4922bba7459b355efbdb7b14 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 af5814beff6e8550bb42fc03e12854bfcfb7bdcb..6bb3acf92fd929151cba353e0cac2c1170710af9 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(); /**