SplittingApp intoWidgets

 import "package:flutter/material.dart";


void main() {
runApp(demoApp());
}
class demoApp extends StatelessWidget {
demoApp({super.key});

@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
title: "Splitting app into Widgets",
theme: ThemeData(
primarySwatch: Colors.indigo,
),
home: SplittingWidgets(), //First Launcher Screen
);
}
}
class SplittingWidgets extends StatelessWidget {
SplittingWidgets({super.key});

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Splitting Widgets"),
),
body: Container(
child: Column(
children: [
CatItems(),

Contact(),

SubCatItems(),

BottomMenu(),
],
),
),
);
}
}

class CatItems extends StatelessWidget {
CatItems({super.key});

@override
Widget build(BuildContext context) {
return Expanded(
flex: 2,
child: Container(
color: Colors.blue,
child: ListView.builder(
itemBuilder: (context, index) {
return Padding(
padding: const EdgeInsets.all(13.0),
child: SizedBox(
width: 90,
child: CircleAvatar(
backgroundColor: Colors.yellowAccent,
),
),
);
},
itemCount: 30,
scrollDirection: Axis.horizontal,
),
),
);
}
}
class Contact extends StatelessWidget {
Contact({super.key});

@override
Widget build(BuildContext context) {
return Expanded(
flex: 4,
child: Container(
color: Colors.orange,
child: ListView.builder(
itemBuilder: (context, index) {
return Padding(
padding: const EdgeInsets.all(8.0),
child: ListTile(
leading: CircleAvatar(
backgroundColor: Colors.deepPurple,
),
title: Text("Name"),
subtitle: Text("Mobile No"),
trailing: Icon(Icons.delete,),
),
);
},
),
),
);
}
}
class SubCatItems extends StatelessWidget {
SubCatItems({super.key});

@override
Widget build(BuildContext context) {
return Expanded(
flex: 2,
child: Container(
color: Colors.blueGrey,
child: ListView.builder(
itemBuilder: (context, index) {
return Padding(
padding: const EdgeInsets.all(8.0),
child: Container(
width: 150,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(11.0,),
color: Colors.lightBlueAccent,
),
),
);
},
itemCount: 10,
scrollDirection: Axis.horizontal,
),
),
);
}
}
class BottomMenu extends StatelessWidget {
BottomMenu({super.key});

@override
Widget build(BuildContext context) {
return Expanded(
flex: 2,
child: Container(
color: Colors.green,
child: Padding(
padding: const EdgeInsets.all(8.0),
child: GridView.count(
crossAxisCount: 2,
children: [
Container(color: Colors.limeAccent, width: 20, height: 20,),
Container(color: Colors.limeAccent,),
Container(color: Colors.limeAccent,),
Container(color: Colors.limeAccent,),
Container(color: Colors.limeAccent,),
Container(color: Colors.limeAccent,),
Container(color: Colors.limeAccent,),
Container(color: Colors.limeAccent,),
Container(color: Colors.limeAccent,),
Container(color: Colors.limeAccent,),
Container(color: Colors.limeAccent,),
Container(color: Colors.limeAccent,),
Container(color: Colors.limeAccent,),
Container(color: Colors.limeAccent,),
Container(color: Colors.limeAccent,),
],
crossAxisSpacing: 20,
mainAxisSpacing: 20,
scrollDirection: Axis.horizontal,

),
),
),
);
}
}

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