Themes

No Flutter, você pode criar e aplicar temas para personalizar a aparência de seu aplicativo de maneira consistente. Um tema no Flutter é um conjunto de definições de estilo que podem ser aplicadas a vários widgets para garantir uma aparência e comportamento uniformes em toda a aplicação.

Aqui está um exemplo básico de como criar e aplicar um tema em seu aplicativo Flutter:

Criando um Tema:

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        primaryColor: Colors.blue, // Cor primária do aplicativo
        accentColor: Colors.green, // Cor de destaque do aplicativo
        fontFamily: 'Roboto', // Fonte padrão do aplicativo
        appBarTheme: AppBarTheme(
          color: Colors.blue, // Cor da barra de aplicativos
        ),
        // Outras personalizações de estilo aqui
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Theme Example'),
      ),
      body: Center(
        child: Text(
          'Este é um exemplo de texto com o tema aplicado.',
          style: Theme.of(context).textTheme.headline6,
        ),
      ),
    );
  }
}

Neste exemplo, ThemeData é usado para definir as propriedades do tema, como cores, fontes e outros estilos. Você pode aplicar o tema ao seu aplicativo passando-o para a propriedade theme do widget MaterialApp.

Aplicando o Tema:

Dentro dos widgets, você pode acessar o tema usando Theme.of(context) para aplicar estilos específicos do tema. Por exemplo, no widget de texto, o estilo de texto é obtido a partir do tema usando Theme.of(context).textTheme.headline6.

Este é um exemplo simples, mas você pode personalizar muito mais no tema, incluindo estilos para botões, texto, ícones, espaçamentos, etc. Utilizar temas é uma prática importante para manter a consistência e a aparência visual harmoniosa em toda a sua aplicação Flutter.