O widget Stack no Flutter é usado para empilhar widgets uns sobre os outros em uma posição específica da tela, semelhante à pilha de cartas, onde a última carta adicionada fica no topo.
Uso Básico do Widget Stack:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Stack(
children: <Widget>[
Container(
color: Colors.blue,
width: 300,
height: 300,
),
Positioned(
top: 50,
left: 50,
child: Container(
color: Colors.red,
width: 200,
height: 200,
),
),
Positioned(
bottom: 50,
right: 50,
child: Container(
color: Colors.green,
width: 150,
height: 150,
),
),
],
),
),
);
}
}
Explicação do Exemplo:
O
Stacké um widget que permite adicionar vários filhos (widgets) e posicioná-los em relação uns aos outros.No exemplo acima, temos três
Containerwidgets envolvidos por umStack.O
Container(azul) é o primeiro doStack.Os outros dois
Containerwidgets são posicionados usando o widgetPositioned, que permite definir a posição do widget em relação aoStack.
Características principais do Widget Stack:
Posicionamento Flexível:
Permite posicionar widgets de forma flexível usando o widget
Positioned.Sobreposição de Widgets:
Possibilita a sobreposição de widgets, onde o último widget adicionado fica no topo.
Controle de Posição:
Fornece controle preciso sobre a posição e layout dos widgets empilhados.
O Stack é útil para criar layouts complexos e personalizados, onde é necessário posicionar elementos de forma específica na tela. Ele permite criar interfaces de usuário criativas e dinâmicas no Flutter, empilhando widgets em diferentes camadas visuais.