Skip to content

How do I wrap a SlidableAction in another container for 1.0 version? #228

@gorkovv

Description

@gorkovv

If I do that, the exception falls out.

startActionPane: ActionPane(
          motion: const DrawerMotion(),
          extentRatio: 0.25,
          children: [
            Container(
              margin: EdgeInsets.fromLTRB(1, 5, 4, 1),
              decoration: BoxDecoration(
                borderRadius: BorderRadius.all(Radius.circular(8.0)),
              ),
              child: SlidableAction(
                label: 'Share',
                backgroundColor: Colors.indigo,
                icon: Icons.share,
                onPressed: (context) {},
              ),
            )
          ],
        ),
======== Exception caught by widgets library =======================================================
The following assertion was thrown while applying parent data.:
Incorrect use of ParentDataWidget.

The ParentDataWidget Expanded(flex: 1) wants to apply ParentData of type FlexParentData to a RenderObject, which has been set up to accept ParentData of incompatible type ParentData.

Usually, this means that the Expanded widget has the wrong ancestor RenderObjectWidget. Typically, Expanded widgets are placed directly inside Flex widgets.
The offending Expanded is currently placed inside a DecoratedBox widget.

The ownership chain for the RenderObject that received the incompatible parent data was:
  SizedBox.expand ← Expanded ← CustomSlidableAction ← SlidableAction ← DecoratedBox ← Padding ← Container ← FlexEntranceTransition ← DrawerMotion ← FractionallySizedBox ← ⋯
When the exception was thrown, this was the stack: 
#0      RenderObjectElement._updateParentData.<anonymous closure> (package:flutter/src/widgets/framework.dart:5826:11)
#1      RenderObjectElement._updateParentData (package:flutter/src/widgets/framework.dart:5842:6)
#2      RenderObjectElement.attachRenderObject (package:flutter/src/widgets/framework.dart:5864:7)
#3      RenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5535:5)
#4      SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6185:11)
...     Normal element mounting (31 frames)
#35     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3666:14)
#36     MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6324:36)
#37     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6335:32)
...     Normal element mounting (7 frames)
#44     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3666:14)
#45     Element.updateChild (package:flutter/src/widgets/framework.dart:3415:20)
#46     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6193:14)
#47     Element.updateChild (package:flutter/src/widgets/framework.dart:3405:15)
#48     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4683:16)
#49     Element.rebuild (package:flutter/src/widgets/framework.dart:4348:5)
#50     ProxyElement.update (package:flutter/src/widgets/framework.dart:5011:5)
#51     Element.updateChild (package:flutter/src/widgets/framework.dart:3405:15)
#52     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4683:16)
#53     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4831:11)
#54     Element.rebuild (package:flutter/src/widgets/framework.dart:4348:5)
#55     StatefulElement.update (package:flutter/src/widgets/framework.dart:4863:5)
#56     Element.updateChild (package:flutter/src/widgets/framework.dart:3405:15)
#57     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6193:14)
#58     Element.updateChild (package:flutter/src/widgets/framework.dart:3405:15)
#59     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4683:16)
#60     Element.rebuild (package:flutter/src/widgets/framework.dart:4348:5)
#61     ProxyElement.update (package:flutter/src/widgets/framework.dart:5011:5)
#62     Element.updateChild (package:flutter/src/widgets/framework.dart:3405:15)
#63     RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:5691:32)
#64     MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6347:17)
#65     Element.updateChild (package:flutter/src/widgets/framework.dart:3405:15)
#66     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4683:16)
#67     Element.rebuild (package:flutter/src/widgets/framework.dart:4348:5)
#68     ProxyElement.update (package:flutter/src/widgets/framework.dart:5011:5)
#69     Element.updateChild (package:flutter/src/widgets/framework.dart:3405:15)
#70     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4683:16)
#71     Element.rebuild (package:flutter/src/widgets/framework.dart:4348:5)
#72     ProxyElement.update (package:flutter/src/widgets/framework.dart:5011:5)
#73     Element.updateChild (package:flutter/src/widgets/framework.dart:3405:15)
#74     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6193:14)
#75     Element.updateChild (package:flutter/src/widgets/framework.dart:3405:15)
#76     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6193:14)
#77     Element.updateChild (package:flutter/src/widgets/framework.dart:3405:15)
#78     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4683:16)
#79     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4831:11)
#80     Element.rebuild (package:flutter/src/widgets/framework.dart:4348:5)
#81     StatefulElement.update (package:flutter/src/widgets/framework.dart:4863:5)
#82     Element.updateChild (package:flutter/src/widgets/framework.dart:3405:15)
#83     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4683:16)
#84     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4831:11)
#85     Element.rebuild (package:flutter/src/widgets/framework.dart:4348:5)
#86     StatefulElement.update (package:flutter/src/widgets/framework.dart:4863:5)
#87     Element.updateChild (package:flutter/src/widgets/framework.dart:3405:15)
#88     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4683:16)
#89     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4831:11)
#90     Element.rebuild (package:flutter/src/widgets/framework.dart:4348:5)
#91     StatefulElement.update (package:flutter/src/widgets/framework.dart:4863:5)
#92     Element.updateChild (package:flutter/src/widgets/framework.dart:3405:15)
#93     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4683:16)
#94     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4831:11)
#95     Element.rebuild (package:flutter/src/widgets/framework.dart:4348:5)
#96     StatefulElement.update (package:flutter/src/widgets/framework.dart:4863:5)
#97     Element.updateChild (package:flutter/src/widgets/framework.dart:3405:15)
#98     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6193:14)
#99     Element.updateChild (package:flutter/src/widgets/framework.dart:3405:15)
#100    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6193:14)
#101    Element.updateChild (package:flutter/src/widgets/framework.dart:3405:15)
#102    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4683:16)
#103    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4831:11)
#104    Element.rebuild (package:flutter/src/widgets/framework.dart:4348:5)
#105    StatefulElement.update (package:flutter/src/widgets/framework.dart:4863:5)
#106    Element.updateChild (package:flutter/src/widgets/framework.dart:3405:15)
#107    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4683:16)
#108    Element.rebuild (package:flutter/src/widgets/framework.dart:4348:5)
#109    StatelessElement.update (package:flutter/src/widgets/framework.dart:4739:5)
#110    Element.updateChild (package:flutter/src/widgets/framework.dart:3405:15)
#111    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4683:16)
#112    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4831:11)
#113    Element.rebuild (package:flutter/src/widgets/framework.dart:4348:5)
#114    StatefulElement.update (package:flutter/src/widgets/framework.dart:4863:5)
#115    Element.updateChild (package:flutter/src/widgets/framework.dart:3405:15)
#116    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4683:16)
#117    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4831:11)
#118    Element.rebuild (package:flutter/src/widgets/framework.dart:4348:5)
#119    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2620:33)
#120    WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:878:21)
#121    RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:328:5)
#122    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1143:15)
#123    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1080:9)
#124    SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:996:5)
#128    _invoke (dart:ui/hooks.dart:163:10)
#129    PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:259:5)
#130    _drawFrame (dart:ui/hooks.dart:126:31)
(elided 3 frames from dart:async)
====================================================================================================

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions