Created
April 22, 2020 00:09
-
-
Save PoojaB26/8452d46bb69207184364d90102855257 to your computer and use it in GitHub Desktop.
Stack Widget Examples
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'package:flutter/material.dart'; | |
void main() { | |
runApp(MyApp()); | |
} | |
class MyApp extends StatelessWidget { | |
@override | |
Widget build(BuildContext context) { | |
return MaterialApp( | |
debugShowCheckedModeBanner: false, | |
home: Scaffold( | |
appBar: AppBar(title: Text("Stack Widget: Examples")), | |
body: Center( | |
child: MyWidget(), | |
), | |
), | |
); | |
} | |
} | |
class MyWidget extends StatelessWidget { | |
static final TextStyle bigStyle = TextStyle(fontSize: 20); | |
//Stack of overlapping containers of reducing size | |
final stk1 = Stack( | |
children: [ | |
Container( | |
height: 300.0, | |
width: 300.0, | |
color: Colors.red, | |
), | |
Container( | |
height: 250.0, | |
width: 250.0, | |
color: Colors.green, | |
), | |
Container( | |
height: 200.0, | |
width: 200.0, | |
color: Colors.yellow, | |
) | |
], | |
); | |
//Playing with Alignment property | |
final stk2 = Stack( | |
alignment: Alignment.center, | |
children: [ | |
Container( | |
height: 300.0, | |
width: 300.0, | |
color: Colors.red, | |
), | |
Container( | |
height: 250.0, | |
width: 250.0, | |
color: Colors.green, | |
), | |
Container( | |
height: 200.0, | |
width: 200.0, | |
color: Colors.yellow, | |
) | |
], | |
); | |
//One child on top of another using Positioned | |
final stk3 = Container( | |
height: 400.0, | |
//color: Colors.yellow, | |
child: Padding( | |
padding: const EdgeInsets.all(8.0), | |
child: Stack( | |
alignment: Alignment.center, | |
children: [ | |
Container( | |
height: 300.0, | |
width: 300.0, | |
color: Colors.red, | |
), | |
Positioned( | |
top: 0.0, | |
child: Container( | |
height: 250.0, | |
width: 250.0, | |
color: Colors.green, | |
), | |
), | |
], | |
), | |
), | |
); | |
//Playing with Positioned properties | |
final stk4 = Container( | |
height: 400.0, | |
//color: Colors.yellow, | |
child: Padding( | |
padding: const EdgeInsets.all(8.0), | |
child: Stack( | |
alignment: Alignment.center, | |
children: [ | |
Container( | |
height: 300.0, | |
width: 300.0, | |
color: Colors.red, | |
), | |
Positioned( | |
top: 0.0, | |
bottom: 0.0, | |
child: Container( | |
height: 250.0, | |
width: 250.0, | |
color: Colors.green, | |
), | |
), | |
], | |
), | |
), | |
); | |
//Playing with Positioned | |
final stk5 = Container( | |
height: 400.0, | |
width: 350.0, | |
//color: Colors.yellow, | |
child: Padding( | |
padding: const EdgeInsets.all(8.0), | |
child: Stack( | |
alignment: Alignment.center, | |
children: [ | |
Container( | |
height: 300.0, | |
width: 200.0, | |
color: Colors.red, | |
), | |
Positioned( | |
right: 0.0, | |
child: Container( | |
height: 250.0, | |
width: 150.0, | |
color: Colors.green, | |
), | |
), | |
], | |
), | |
), | |
); | |
@override | |
Widget build(BuildContext context) { | |
return stk5; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment