diegoRodicio

View Categories

🧭 Barra superior: AppBar

🧭 Título e accións na barra superior

A AppBar pode incluír tres zonas:

  • leading: un widget á esquerda.
  • title: o título.
  • actions: unha lista de widgets á dereita, normalmente botóns con iconas.
Partes dunha AppBar: leading, title e actions
Partes dunha AppBar: leading, title e actions

⚙️ Propiedades habituais

PropiedadePara que serve?
titleTexto ou widget do título.
centerTitleCentra o título se vale true.
leadingWidget situado ao inicio da barra.
actionsBotóns ao final da barra.
backgroundColorCor de fondo.
foregroundColorCor do texto e das iconas.
elevationElevación que pode producir sombra.
automaticallyImplyLeadingPermite que Flutter escolla automaticamente o botón inicial.

Se hai un drawer, Flutter pode mostrar o botón de menú. Se podemos volver á pantalla anterior, pode mostrar unha frecha. Nunha pantalla inicial sen menú nin ruta anterior non ten por que aparecer ningún botón.

🧪 Exemplo completo

🔗 DartPad:

Barra superior con título centrado, iconas e cores propias
Barra superior con título centrado, iconas e cores propias

💡 Como definimos leading, automaticallyImplyLeading non ten efecto neste exemplo. Se quitamos leading, o valor false impide que Flutter engada automaticamente un botón de menú ou de volver. Con true, poderá engadilo cando corresponda.

🎨 Compartir o estilo desde o tema

Se queremos que todas as barras superiores teñan o mesmo aspecto, podemos definir o seu estilo unha soa vez no tema da aplicación.

Para iso, engadimos appBarTheme dentro de ThemeData. Usamos un obxecto AppBarThemeData para indicar as cores, a aliñación do título ou a elevación.

Neste exemplo, as barras terán fondo verde e texto e iconas brancos:

theme: ThemeData(
  appBarTheme: const AppBarThemeData(
    backgroundColor: Colors.green,
    foregroundColor: Colors.white,
    centerTitle: true,
    elevation: 4,
  ),
),

Despois, en cada AppBar, só precisamos indicar o seu contido: o título e os botóns. Non temos que repetir o estilo.

🧪 Exemplo completo

🔗 DartPad:

Aplicar o estilo verde da AppBar desde o tema
Aplicar o estilo verde da AppBar desde o tema

📚 Consulta: