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

Popular posts from this blog

Second GET API Calling with Bloc simple Example in Flutter

Stack Container Scrollable Card widget UI with Custom Widget

Pagination with Bloc Pattern in Flutter