Skip to content

Conversation

@g-turley
Copy link

Addresses issue #4

Adds in ability to use: isExpanded, isPinned, isDisabled, and toggleExpanded() from the sticky header controller

isExpanded, isPinned, isDisabled act as both getter/setter.

final StickyCollapsablePanelController panelController = StickyCollapsablePanelController(key:'key_1');
...
panelController.isExpanded = true; // or panelController.toggleExpanded();

@digit81
Copy link

digit81 commented May 15, 2025

@g-turley I have the issue on iOS. When in debug mode your changes works just fine. In release mode on real device list does not take any touch events - I cannot scroll it, I cannot tap to collapse section. AppBar with navigation works. I'm on iOS 18.5

@digit81
Copy link

digit81 commented May 15, 2025

[        ] flutter: #0      LateError._throwLocalNotInitialized (dart:_internal-patch/internal_patch.dart:214)
[        ] flutter: #1      RenderObject.debugNeedsLayout (package:flutter/src/rendering/object.dart)
[        ] flutter: #2      RenderSliverStickyCollapsablePanel.hitTestChildren
(package:sliver_sticky_collapsable_panel/rendering/render_sliver_sticky_collapsable_panel.dart:281)
[        ] flutter: #3      RenderSliver.hitTest (package:flutter/src/rendering/sliver.dart:1486)
[        ] flutter: #4      RenderProxySliver.hitTestChildren (package:flutter/src/rendering/proxy_sliver.dart:74)
[        ] flutter: #5      RenderSliver.hitTest (package:flutter/src/rendering/sliver.dart:1486)
[        ] flutter: #6      SliverHitTestResult.addWithAxisOffset (package:flutter/src/rendering/sliver.dart:1018)
[        ] flutter: #7      RenderSliverEdgeInsetsPadding.hitTestChildren (package:flutter/src/rendering/sliver_padding.dart:226)
[        ] flutter: #8      RenderSliver.hitTest (package:flutter/src/rendering/sliver.dart:1486)
[        ] flutter: #9      RenderViewportBase.hitTestChildren.<anonymous closure> (package:flutter/src/rendering/viewport.dart:817)
[        ] flutter: #10     BoxHitTestResult.addWithOutOfBandPosition (package:flutter/src/rendering/box.dart:933)
[        ] flutter: #11     RenderViewportBase.hitTestChildren (package:flutter/src/rendering/viewport.dart:814)
[        ] flutter: #12     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2943)
[        ] flutter: #13     RenderValueLayoutBuilder.hitTestChildren (package:sliver_sticky_collapsable_panel/utils/value_layout_builder.dart:125)
[        ] flutter: #14     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2943)
[        ] flutter: #15     RenderOffstage.hitTest (package:flutter/src/rendering/proxy_box.dart:3756)
[        ] flutter: #16     RenderValueLayoutBuilder.hitTestChildren (package:sliver_sticky_collapsable_panel/utils/value_layout_builder.dart:125)
[        ] flutter: #17     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2943)
[        ] flutter: #18     RenderValueLayoutBuilder.hitTestChildren (package:sliver_sticky_collapsable_panel/utils/value_layout_builder.dart:125)
[        ] flutter: #19     RenderProxyBoxWithHitTestBehavior.hitTest (package:flutter/src/rendering/proxy_box.dart:183)
[        ] flutter: #20     RenderValueLayoutBuilder.hitTestChildren (package:sliver_sticky_collapsable_panel/utils/value_layout_builder.dart:125)
[        ] flutter: #21     RenderProxyBoxWithHitTestBehavior.hitTest (package:flutter/src/rendering/proxy_box.dart:183)
[        ] flutter: #22     RenderValueLayoutBuilder.hitTestChildren (package:sliver_sticky_collapsable_panel/utils/value_layout_builder.dart:125)
[        ] flutter: #23     RenderProxyBoxWithHitTestBehavior.hitTest (package:flutter/src/rendering/proxy_box.dart:183)
[        ] flutter: #24     RenderValueLayoutBuilder.hitTestChildren (package:sliver_sticky_collapsable_panel/utils/value_layout_builder.dart:125)
[        ] flutter: #25     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2943)
[        ] flutter: #26     RenderShiftedBox.hitTestChildren.<anonymous closure> (package:flutter/src/rendering/shifted_box.dart:95)
[        ] flutter: #27     BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:840)
[        ] flutter: #28     RenderShiftedBox.hitTestChildren (package:flutter/src/rendering/shifted_box.dart:90)
[        ] flutter: #29     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2943)
[        ] flutter: #30     RenderBoxContainerDefaultsMixin.defaultHitTestChildren.<anonymous closure> (package:flutter/src/rendering/box.dart:3339)
[        ] flutter: #31     BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:840)
[        ] flutter: #32     RenderBoxContainerDefaultsMixin.defaultHitTestChildren (package:flutter/src/rendering/box.dart:3334)
[        ] flutter: #33     RenderStack.hitTestChildren (package:flutter/src/rendering/stack.dart:695)
[        ] flutter: #34     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2943)
[        ] flutter: #35     RenderBoxContainerDefaultsMixin.defaultHitTestChildren.<anonymous closure> (package:flutter/src/rendering/box.dart:3339)
[        ] flutter: #36     BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:840)
[        ] flutter: #37     RenderBoxContainerDefaultsMixin.defaultHitTestChildren (package:flutter/src/rendering/box.dart:3334)
[        ] flutter: #38     RenderCustomMultiChildLayoutBox.hitTestChildren (package:flutter/src/rendering/custom_layout.dart:429)
[        ] flutter: #39     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2943)
[        ] flutter: #40     RenderValueLayoutBuilder.hitTestChildren (package:sliver_sticky_collapsable_panel/utils/value_layout_builder.dart:125)
[        ] flutter: #41     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2943)
[        ] flutter: #42     RenderValueLayoutBuilder.hitTestChildren (package:sliver_sticky_collapsable_panel/utils/value_layout_builder.dart:125)
[        ] flutter: #43     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2943)
[        ] flutter: #44     RenderPhysicalModel.hitTest (package:flutter/src/rendering/proxy_box.dart:2032)
[        ] flutter: #45     RenderValueLayoutBuilder.hitTestChildren (package:sliver_sticky_collapsable_panel/utils/value_layout_builder.dart:125)
[        ] flutter: #46     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2943)
[        ] flutter: #47     RenderValueLayoutBuilder.hitTestChildren (package:sliver_sticky_collapsable_panel/utils/value_layout_builder.dart:125)
[        ] flutter: #48     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2943)
[        ] flutter: #49     RenderValueLayoutBuilder.hitTestChildren (package:sliver_sticky_collapsable_panel/utils/value_layout_builder.dart:125)
[        ] flutter: #50     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2943)
[        ] flutter: #51     RenderOffstage.hitTest (package:flutter/src/rendering/proxy_box.dart:3756)
[        ] flutter: #52     RenderBoxContainerDefaultsMixin.defaultHitTestChildren.<anonymous closure> (package:flutter/src/rendering/box.dart:3339)
[        ] flutter: #53     BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:840)
[        ] flutter: #54     RenderBoxContainerDefaultsMixin.defaultHitTestChildren (package:flutter/src/rendering/box.dart:3334)
[        ] flutter: #55     RenderStack.hitTestChildren (package:flutter/src/rendering/stack.dart:695)
[        ] flutter: #56     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2943)
[        ] flutter: #57     RenderValueLayoutBuilder.hitTestChildren (package:sliver_sticky_collapsable_panel/utils/value_layout_builder.dart:125)
[        ] flutter: #58     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2943)
[        ] flutter: #59     RenderValueLayoutBuilder.hitTestChildren (package:sliver_sticky_collapsable_panel/utils/value_layout_builder.dart:125)
[        ] flutter: #60     RenderFollowerLayer.hitTestChildren.<anonymous closure> (package:flutter/src/rendering/proxy_box.dart:4948)
[        ] flutter: #61     BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:840)
[        ] flutter: #62     RenderFractionalTranslation.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:2949)
[        ] flutter: #63     RenderFractionalTranslation.hitTest (package:flutter/src/rendering/proxy_box.dart:2935)
[        ] flutter: #64     RenderValueLayoutBuilder.hitTestChildren (package:sliver_sticky_collapsable_panel/utils/value_layout_builder.dart:125)
[        ] flutter: #65     RenderFollowerLayer.hitTestChildren.<anonymous closure> (package:flutter/src/rendering/proxy_box.dart:4948)
[        ] flutter: #66     BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:840)
[        ] flutter: #67     RenderFractionalTranslation.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:2949)
[        ] flutter: #68     RenderFractionalTranslation.hitTest (package:flutter/src/rendering/proxy_box.dart:2935)
[        ] flutter: #69     RenderValueLayoutBuilder.hitTestChildren (package:sliver_sticky_collapsable_panel/utils/value_layout_builder.dart:125)
[        ] flutter: #70     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2943)
[        ] flutter: #71     RenderValueLayoutBuilder.hitTestChildren (package:sliver_sticky_collapsable_panel/utils/value_layout_builder.dart:125)
[        ] flutter: #72     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2943)
[        ] flutter: #73     RenderValueLayoutBuilder.hitTestChildren (package:sliver_sticky_collapsable_panel/utils/value_layout_builder.dart:125)
[        ] flutter: #74     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2943)
[        ] flutter: #75     RenderOffstage.hitTest (package:flutter/src/rendering/proxy_box.dart:3756)
[        ] flutter: #76     RenderValueLayoutBuilder.hitTestChildren (package:sliver_sticky_collapsable_panel/utils/value_layout_builder.dart:125)
[        ] flutter: #77     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2943)
[        ] flutter: #78     _RenderTheaterMixin.hitTestChildren.childHitTest (package:flutter/src/widgets/overlay.dart:1097)
[        ] flutter: #79     BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:840)
[        ] flutter: #80     _RenderTheaterMixin.hitTestChildren (package:flutter/src/widgets/overlay.dart:1098)
[        ] flutter: #81     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2943)
[        ] flutter: #82     RenderValueLayoutBuilder.hitTestChildren (package:sliver_sticky_collapsable_panel/utils/value_layout_builder.dart:125)
[        ] flutter: #83     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2943)
[        ] flutter: #84     RenderAbsorbPointer.hitTest (package:flutter/src/rendering/proxy_box.dart:3877)
[        ] flutter: #85     RenderValueLayoutBuilder.hitTestChildren (package:sliver_sticky_collapsable_panel/utils/value_layout_builder.dart:125)
[        ] flutter: #86     RenderProxyBoxWithHitTestBehavior.hitTest (package:flutter/src/rendering/proxy_box.dart:183)
[        ] flutter: #87     RenderValueLayoutBuilder.hitTestChildren (package:sliver_sticky_collapsable_panel/utils/value_layout_builder.dart:125)
[        ] flutter: #88     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2943)
[        ] flutter: #89     RenderValueLayoutBuilder.hitTestChildren (package:sliver_sticky_collapsable_panel/utils/value_layout_builder.dart:125)
[        ] flutter: #90     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2943)
[        ] flutter: #91     RenderValueLayoutBuilder.hitTestChildren (package:sliver_sticky_collapsable_panel/utils/value_layout_builder.dart:125)
[        ] flutter: #92     RenderTapRegionSurface.hitTest (package:flutter/src/widgets/tap_region.dart:234)
[        ] flutter: #93     RenderValueLayoutBuilder.hitTestChildren (package:sliver_sticky_collapsable_panel/utils/value_layout_builder.dart:125)
[        ] flutter: #94     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2943)
[        ] flutter: #95     RenderValueLayoutBuilder.hitTestChildren (package:sliver_sticky_collapsable_panel/utils/value_layout_builder.dart:125)
[        ] flutter: #96     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2943)
[        ] flutter: #97     RenderValueLayoutBuilder.hitTestChildren (package:sliver_sticky_collapsable_panel/utils/value_layout_builder.dart:125)
[        ] flutter: #98     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2943)
[        ] flutter: #99     RenderValueLayoutBuilder.hitTestChildren (package:sliver_sticky_collapsable_panel/utils/value_layout_builder.dart:125)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants