Error:
Incorrect use of ParentDataWidget.
Expanded widgets must be placed inside Flex widgets.
Expanded(no depth, flex: 1, dirty) has no flex ancestor at all.
Explanation
This error means that you can only place an Expanded Widget inside Flex
Widget. For example, below code will throw this kind of error.
import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { Widget titlesection = Container( padding: EdgeInsets.all(10.0), child: Expanded( child: Row( children:[ Column( children: [ Container( padding: EdgeInsets.only(bottom: 8.0), child: Text( "Some Lage Somthing", style: TextStyle(fontWeight: FontWeight.bold), ), ), Text("Someplace, Country") ], ), Icon(Icons.star) ], ), ), ); return MaterialApp( title: 'My Layout App', home: Scaffold( appBar: AppBar( title: Text("My Layout App"), ), body: ListView( children: [ titlesection, ], )), ); } }
The fix for this above issue, is to move the expanded widget inside a flex widget. Example below.
import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { Widget titlesection = Container( padding: EdgeInsets.all(10.0), child: Row( children:[ Expanded( child: Column( children: [ Container( padding: EdgeInsets.only(bottom: 8.0), child: Text( "Some Lage Somthing", style: TextStyle(fontWeight: FontWeight.bold), ), ), Text("Someplace, Country") ], ), ), Icon(Icons.star) ], ), ); return MaterialApp( title: 'My Layout App', home: Scaffold( appBar: AppBar( title: Text("My Layout App"), ), body: ListView( children: [ titlesection, ], )), ); } }