A barra de aplicativos é um dos componentes mais usados ​​em todos os tipos de aplicativos. Ele pode ser usado para hospedar um campo de pesquisa, botões para navegar entre as páginas ou simplesmente o título da página. Por ser um componente muito usado, o Flutter fornece um widget dedicado para essa funcionalidade chamado AppBar .

Neste tutorial, mostraremos como personalizar a AppBar em um aplicativo Flutter, percorrendo alguns exemplos práticos.

Aqui está o que vamos cobrir:

O que é AppBar no Flutter?

Flutter AppBar é um componente de aplicativo desenvolvido de acordo com as diretrizes do Material Design . Geralmente é colocado na parte superior da tela e tem a capacidade de conter outros widgets em seu layout. A AppBar geralmente exibe informações de marca, como logotipos e títulos, e geralmente contém botões ou outros pontos de interação do usuário.

Esta é a aparência do AppBar padrão no Flutter:

//Principalmente, AppBar é usado dentro de um widget Scaffold.
Andaime( appBar: AppBar (),
),

AppBar padrão em flutuação

Muito em branco, certo? Vamos personalizá-lo ao nosso gosto.

Layout AppBar

No Flutter, o layout do AppBar compreende principalmente três componentes: principal , título e ações . à esquerda é colocado na posição mais à esquerda da AppBar; title e actions aparecem à sua direita.

Flutter AppBar Layout

lider

principal inclui um widget e pode ser atribuído a qualquer coisa-texto, um ícone ou até mesmo vários widgets em uma linha.

 AppBar ( à esquerda: Ícone (Icons.account_circle_rounded),
),

Flutter AppBar Leading

Você pode controlar a largura que o entrelinha pode ter:

 AppBar ( à esquerda: Ícone (Icons.account_circle_rounded), LeadWidth: 100,//o padrão é 56
),

Flutter AppBar Leading Width

Se principal não for fornecido, o AppBar indicará isso para nós automaticamente. Os exemplos incluem uma seta de navegação para voltar à página anterior ou um ícone de menu para abrir a gaveta.

A seta de navegação aparece automaticamente quando uma rota anterior está disponível.

 class HomePage extends StatelessWidget { @sobrepor Construção de widget (contexto BuildContext) { return Scaffold ( corpo: Centro ( filho: TextButton ( filho: Texto ('Push'), onPressed: ()=> Navigator.push (context, MaterialPageRoute ( construtor: (contexto) { return SecondPage (); }, )), ), ), ); }
} class SecondPage extends StatelessWidget { @sobrepor Construção de widget (contexto BuildContext) { return Scaffold ( appBar: AppBar (), ); }
}

Flutter AppBar Navigation Arrow

Quando adicionamos uma Drawer ao Scaffold , um ícone de menu é atribuído a principal para abrir a gaveta.

 class HomePage extends StatelessWidget { @sobrepor Construção de widget (contexto BuildContext) { return Scaffold ( appBar: AppBar (), gaveta: gaveta (), ); }
}

Ícone do menu Flutter AppBar

Se desejar, esse comportamento pode ser evitado tornando automaticallyImplyLeading falso.

 AppBar ( automaticImplyLeading: false,//simples assim!
),

title

Como o nome sugere, ele é usado principalmente para mostrar títulos, como o título do aplicativo ou o cabeçalho da página.

 AppBar ( título: Texto ('Página de perfil'),
),

Flutter AppBar Title

Mas você não está limitado a isso, já que title também aceita um widget. Você pode usá-lo para mostrar ícones, imagens, formas ou qualquer combinação deles usando widgets de layout, como linha e coluna .

Aqui está um exemplo:

 AppBar ( título: Container ( largura: 40, filho: Image.network (url), ),
),

Flutter AppBar Title Image

Por padrão, title é alinhado à esquerda de AppBar, de acordo com as diretrizes do Material. Você pode alterar isso para alinhá-lo no centro:

 AppBar ( título: Container ( largura: 40, filho: Image.network (url), ), centerTitle: true,//assim!
),

Flutter AppBar Center Title

actions

ações é uma lista de widgets alinhados à direita do AppBar. Normalmente os vemos em aplicativos usados ​​como botões para acionar menus suspensos, avatares de perfil etc.

 AppBar ( ações: [ Ícone (Icons.more_vert), ],
),

Ícone de ações Flutter AppBar

Vamos adicionar mais um widget à lista:

 AppBar ( ações: [ Recipiente( largura: 30, filho: Image.asset ( 'assets/images/profile_pic.png', ), ), Ícone (Icons.more_vert), ],
),

Personalização da AppBar no Flutter

Agora que estamos familiarizados com o layout do AppBar, vamos levar a personalização para o próximo nível, brincando com as opções de tema. AppBar contém todos os tipos de propriedades, incluindo cores, tamanhos, temas de ícones, temas de texto e muito mais.

Cor de fundo

O código a seguir altera a cor de fundo do AppBar para laranja profundo. 500 é adicionado para acessar um tom específico da cor, 900 sendo o mais escuro e 50 sendo o mais claro.

 AppBar ( backgroundColor: Colors.deepOrange [500],
),

Flutter AppBar Background Color

Tema do ícone

O código abaixo muda a cor do ícone para verde e o tamanho para 36 :

 AppBar ( actionsIconTheme: IconThemeData (color: Colors.green, size: 36),
),

Tema do ícone Flutter AppBar

Tema do texto

Digamos que você queira alterar a cor do texto para âmbar com um tom mais claro de 200 e definir o tamanho da fonte para 24 :

 AppBar ( textTheme: TextTheme ( headline6: TextStyle (//headline6 é usado para definir o tema do título cor: Colors.amber [200], fontSize: 24, ), ),
),

Tema de texto Flutter AppBar

Elevação

Se quiser dar um pequeno impulso ao AppBar, você pode usar elevation . O código a seguir aumenta a elevação do AppBar para 15 .

 AppBar ( elevação: 15,
),

Flutter AppBar Elevation

Observe que AppBar é levantado e a sombra se espalha por uma área maior.

Cor da sombra

Você pode até alterar a cor da sombra projetada. O código abaixo muda a cor da sombra do AppBar para o``range``A``ccent .

 AppBar ( shadowColor: Colors.orangeAccent,
),

Flutter AppBar Shadow Color

Muito legal, certo?

Altura e opacidade da barra de ferramentas

Finalmente, temos as propriedades da barra de ferramentas. A barra de ferramentas contém texto, ícones, botões e qualquer coisa que esteja em primeiro plano, exceto widgets como Container e Image .

Para alterar a altura e opacidade dos itens da barra de ferramentas AppBar:

 AppBar ( toolbarHeight: 100,//o padrão é 56 toolbarOpacity: 0,5,
),

Flutter AppBar Altura e opacidade da barra de ferramentas

Conclusão

Se você chegou até aqui, agora deve entender:

  • O que é AppBar e como é usado no Flutter
  • Layout do AppBar ( principal , título e ações )
  • Como personalizar o layout do AppBar e adicionar widgets
  • Como criar um tema para os ícones, texto, fundo, elevação, cor da sombra e barra de ferramentas da AppBar

Então, aqui está! Um passo a passo completo sobre tudo o que o AppBar do Flutter tem a oferecer. Espero que este artigo ajude você a criar belas AppBars em todos os seus futuros aplicativos Flutter.

A postagem Tutorial do Flutter AppBar apareceu primeiro em LogRocket Blog .

Source link