Closed FreekyFrank closed 1 month ago
Sorry I am at the very early stages with Flutter but the ListTile Widget seems to be very fragile and subject to rendering issues, which is why it is wrapped in a SizedBox. Further, the support examples are quite limited with none showing how to recover which one is selected.
Leading widget consumes entire tile width. Please use a sized widget, or consider replacing ListTile with a custom widget (see https://api.flutter.dev/flutter/material/ListTile-class.html#material.ListTile.4)
@FreekyFrank Try to follow the hint in the log as above and also refer to the example link mentioned in it to properly implement the feature. It seems to be an issue with code implementation rather than a bug in framework.
If not, then provide us a complete runnable reproducible code sample without custom implementation that triggers the error you are seeing, along with your flutter doctor -v
.
Without additional information, we are unfortunately not sure how to resolve this issue. We are therefore reluctantly going to close this bug for now. If you find this problem please file a new issue with the same description, what happens, logs and the output of 'flutter doctor -v'. All system setups can be slightly different so it's always better to open new issues and reference the related ones. Thanks for your contribution.
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v
and a minimal reproduction of the issue.
Steps to reproduce
Add the following code to simple project and run via
enum RowNumber { l, j, b }
Expected results
I expected a small set of radio buttons with single letters as names. (I actually want just the radio buttons without text but controlling the layout seems to be a general problem). A number of similar issues appear on StackOverflow.
Actual results
UI appears but the following error message follows and the labels do not appear. This bug seems only to be repeatable on an intermittent basis and I am a struggling Flutter/Dart newbe.
log
``` ════════ Exception caught by rendering library ═════════════════════════════════ The following assertion was thrown during performLayout(): Leading widget consumes entire tile width. Please use a sized widget, or consider replacing ListTile with a custom widget (see https://api.flutter.dev/flutter/material/ListTile-class.html#material.ListTile.4) 'package:flutter/src/material/list_tile.dart': Failed assertion: line 1318 pos 7: 'tileWidth != leadingSize.width || tileWidth == 0.0' Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause. In either case, please report this assertion by filing a bug on GitHub: https://github.com/flutter/flutter/issues/new?template=2_bug.yml The relevant error-causing widget was: ListTile ListTile:file:///home/fsmith/code/flutter/radio/lib/main.dart:88:18 When the exception was thrown, this was the stack: #2 _RenderListTile.performLayout (package:flutter/src/material/list_tile.dart:1318:7) list_tile.dart:1318 #3 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #4 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #5 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:239:12) shifted_box.dart:239 #6 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #7 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #8 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:239:12) shifted_box.dart:239 #9 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #10 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #11 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #12 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #13 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #14 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #15 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #16 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #17 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #18 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #19 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #20 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #21 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #22 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #23 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #24 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #25 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #26 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:280:14) proxy_box.dart:280 #27 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #28 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #29 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:52:11) layout_helper.dart:52 #30 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:809:43) flex.dart:809 #31 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:904:32) flex.dart:904 #32 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #33 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #34 RenderPositionedBox.performLayout (package:flutter/src/rendering/shifted_box.dart:456:14) shifted_box.dart:456 shifted_box.dart:456 #35 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #36 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #37 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:173:12) custom_layout.dart:173 #38 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1063:7) scaffold.dart:1063 #39 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:237:7) custom_layout.dart:237 #40 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:404:14) custom_layout.dart:404 #41 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #42 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #43 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #44 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #45 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389#46 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #47 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1440:11) proxy_box.dart:1440 #48 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #49 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #50 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #51 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #52 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #53 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #54 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #55 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #56 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #57 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #58 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #59 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #60 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #61 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #62 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #63 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #64 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #65 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #66 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #67 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #68 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #69 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #70 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #71 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #72 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #73 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #74 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #75 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #76 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #77 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #78 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3728:13) proxy_box.dart:3728 #79 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #80 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #81 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #82 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #83 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #84 _RenderTheaterMixin.layoutChild (package:flutter/src/widgets/overlay.dart:968:13) overlay.dart:968 #85 _RenderTheater.performLayout (package:flutter/src/widgets/overlay.dart:1282:9) overlay.dart:1282 #86 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #87 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #88 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #89 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #90 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #91 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #92 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #93 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #94 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #95 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #96 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #97 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #98 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:569:11) custom_paint.dart:569 #99 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #100 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #101 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #102 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #103 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #104 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #105 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #106 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #107 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #108 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #109 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #110 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #111 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #112 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #113 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #114 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #115 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #116 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21) proxy_box.dart:105 #117 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7) object.dart:2575 #118 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11) box.dart:2389 #119 RenderView.performLayout (package:flutter/src/rendering/view.dart:195:14) view.dart:195 #120 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2414:7) object.dart:2414 #121 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1051:18) object.dart:1051 #122 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1064:15) object.dart:1064 #123 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:582:23) binding.dart:582 #124 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:991:13) binding.dart:991 #125 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:448:5) binding.dart:448 #126 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1386:15) binding.dart:1386 #127 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1311:9) binding.dart:1311 #128 SchedulerBinding.scheduleWarmUpFrame.Code sample
Code sample
```dart [Paste your code here] ```Screenshots or Video
Screenshots / Video demonstration
[Upload media here]Logs
Logs
```console [Paste your logs here] ```Flutter Doctor output
Doctor output
```console [Paste your output here] ```