Layout Builder
/// Syntax:
/// LayoutBuilder(
/// builder: (BuildContext context, BoxConstraints constraints) {
/// return Widget();
/// }
/// ),
import "package:flutter/material.dart";
void main() {
runApp(MyApp(),);
}
class MyApp extends StatelessWidget {
MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
title: "LayoutBuilder in Flutter",
theme: ThemeData(
primarySwatch: Colors.indigo,
),
home: LayoutBuilderExample(),
);
}
}
class LayoutBuilderExample extends StatelessWidget {
LayoutBuilderExample({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("LayoutBuilder"),
),
body: LayoutBuilder(
builder: (BuildContext context, BoxConstraints constraints) {
if(constraints.maxWidth > 600) {
return _buildWideContainer();
} else {
return _buildNormalContainer();
}
},
),
);
}
}
Widget _buildNormalContainer() {
return Center(
child: Container(
width: 200,
height: 200,
color: Colors.red,
),
);
}
Widget _buildWideContainer() {
return Center(
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: <Widget>[
Container(
height: 200.0,
width: 200.0,
color: Colors.indigo,
),
Container(
height: 200.0,
width: 200.0,
color: Colors.pink,
),
Container(
height: 200.0,
width: 200.0,
color: Colors.amber,
),
],
),
);
}
Comments
Post a Comment