Layoutbuilder is used to choose if the two child-widgets will use a row or a column layout.
A streamcontroller is used to communicate between the child-widgets.

Row layout 
Column layout
import 'dart:async';
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Photodesk Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: Demo(),
);
}
}
class Demo extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Layout Building in Row/Column'),
),
body: LayoutBuilder(
builder: (context, constraints) {
if (constraints.maxWidth < 800) {
return layout('column');
} else {
return layout('row');
}
},
),
);
}
}
Widget layout(String layoutType) {
var _streamController = StreamController<String>.broadcast();
List<Widget> myChildren = [
Flexible(
child: Container(
color: Colors.black26,
width: double.infinity,
height: 500,
//color: Colors.pink,
child: Column(
children: [
ListTile(
leading: Icon(Icons.people),
title: Text('Svænd Bent'),
onTap: () {
_streamController.add('Svænd Bent');
},
),
ListTile(
leading: Icon(Icons.my_location),
title: Text('Yrsa Tusse'),
onTap: () {
_streamController.add('Yrsa Tusse');
},
),
ListTile(
leading: Icon(Icons.landscape),
title: Text('Thormod Fuss'),
onTap: () {
_streamController.add('Thormod Fussit');
},
),
],
),
),
flex: 2,
),
Flexible(
child: Container(
padding: EdgeInsets.all(10),
width: double.infinity,
height: 500,
color: Colors.black12,
child: Center(
child: StreamBuilder(
stream: _streamController.stream,
builder: (context, snapshot) {
if (!snapshot.hasData) {
return CircularProgressIndicator();
} else {
return Text(
snapshot.data.toString(),
style: TextStyle(
fontSize: 20,
),
);
}
},
),
),
),
flex: 4,
),
];
print('Rebuilding layout');
if (layoutType == 'row') {
return Row(
children: myChildren,
);
} else {
return Column(
children: myChildren,
);
}
}
