0
respostas

[Sugestão] Reutilizando widgets com funções e definindo tipos

Olá,

Uni os conhecimentos dos cursos passados da trilha de Dart, e criei uma função para reaproveitar o Stack com parâmetros nomeados para aumentar ainda mais a flexibilidade do uso desse componente.

Enfim, apenas uma amostra pequena do que se pode fazer combinando esses conhecimentos!

import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

Stack _buildStack({
  Color colorFist = Colors.blue,
  Color colorSecond = Colors.amber}) {
  return  Stack(
    alignment: AlignmentDirectional.center,
    children: [
      Container(
        width: 150,
        height: 150,
        color: colorFist,
      ),
      Container(
        width: 100,
        height: 100,
        color: colorSecond,
      ),
    ],
  );
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: Column(
        mainAxisAlignment: MainAxisAlignment.spaceEvenly,
        crossAxisAlignment: CrossAxisAlignment.center,
        children: [
          _buildStack(colorFist: Colors.red, colorSecond: Colors.white),
          _buildStack(),
          Row(
            mainAxisAlignment: MainAxisAlignment.spaceEvenly,
            crossAxisAlignment: CrossAxisAlignment.center,
            children: [
              Container(color: Colors.blue, width: 50, height: 50,),
              Container(color: Colors.red, width: 50, height: 50,),
              Container(color: Colors.amber, width: 50, height: 50)
            ],
          )
        ],
      ),
    );
  }
}