10 widgets Flutter revolucionários para criar interfaces de usuário impressionantes

Tempo de leitura: 3 minutes

Ei! Como alguém que está imerso no mundo do Flutter há mais de 2 anos, criando aplicativos híbridos para Android, iOS e web, me deparei com vários widgets avançados do Flutter que facilitaram minha jornada de desenvolvimento. Hoje, quero compartilhar alguns desses widgets extraordinários com você. Então, vamos mergulhar!

Vamos explorar 10 widgets Flutter avançados para turbinar suas UIs

 

1. O widget expansivo e expandido

Controlar a distribuição do espaço em um layout Flex é muito fácil com o widget Expandido. Faça com que um widget ocupe mais espaço do que outros na mesma linha ou coluna sem esforço. Aqui está um exemplo de uma linha com dois widgets expandidos e um widget de texto, onde o primeiro widget expandido ocupa o dobro do espaço:

Row(
  children: [
    Expanded(
      flex: 2,
      child: Container(
        color: Colors.black,
      ),
    ),
    Expanded(
      child: Container(
        color: Colors.green,
      ),
    ),
    Text("Text widget"),
  ],
);

 

2. O widget de transformação transformadora

Aplique transformações cativantes, incluindo rotações, translações e escalas, aos seus widgets usando o widget Transformar. Crie animações e efeitos visuais impressionantes sem esforço. Aqui está um exemplo que gira um Container em 45 graus:

Transform.rotate(
  angle: 90,
  child: Container(
    color: Colors.green,
    child: Text("Upside down")
  ),
);

 

3. O widget Marvelous AnimatedContainer

Animar propriedades como tamanho, preenchimento e cor torna-se muito fácil com o widget AnimatedContainer. Basta envolvê-lo em outro widget e definir as propriedades que deseja animar. Aqui está um exemplo que anima a largura de um contêiner acima de 600 milissegundos:

AnimatedContainer(
  duration: Duration(milliseconds: 600),
  width: _width,
  child: Container(
    color: Colors.red,
  ),
);

 

4. O widget de pilha poderosa

Quando se trata de empilhar widgets uns sobre os outros, o widget Stack é a potência máxima. Posicione e alinhe seus widgets secundários para criar interfaces em camadas impressionantes. Aqui está um exemplo que empilha verticalmente dois contêineres e os centraliza:

Stack(
  alignment: Alignment.center,
  children: [
    Container(
      width: 200,
      height: 200,
      color: Colors.blue,
    ),
    Container(
      width: 150,
      height: 150,
      color: Colors.red,
    ),
  ],
);

 

5. O widget do herói lendário

Crie animações suaves entre telas com o widget Hero. Anime um elemento de uma tela para outra, criando transições cativantes de elementos compartilhados. Aqui está um exemplo que anima um Container entre duas telas:

Hero(  
  tag: 'yourTag',  
  child: YourWidget(),
)

 

6. O incrível widget AnimatedOpacity

Aumente e diminua gradualmente os widgets com o widget AnimatedOpacity, perfeito para transições de tela ou animações de menu. Aqui está um exemplo que desaparece em um contêiner por mais de 500 milissegundos:

AnimatedOpacity(  
    opacity: _containerOpacity,  
    duration: Duration(milliseconds: 200),  
    child: YourWidget(),
)

 

 

7. O widget arrastável dinâmico

Dê vida às interações de arrastar e soltar usando o widget Arrastável. Arraste widgets dentro de um pai ou entre diferentes widgets sem esforço. Aqui está um exemplo que cria um widget arrastável dentro de um Container:

Draggable(  
    child: YourWidget(),  
    feedback: YourFeedbackWidget(),  
    childWhenDragging: YourChildWhenDraggingWidget(),
)

 

 

8. O widget Dynamic AnimatedSwitcher

Alterne entre diferentes widgets usando animações cativantes com o widget AnimatedSwitcher. Crie interfaces de usuário dinâmicas e interativas sem esforço. Aqui está um exemplo que alterna entre dois contêineres:

AnimatedSwitcher(
    duration: Duration(milliseconds: 200),  
    child: _showFirstContainer ? FirstContainer(): SecondContainer(),
)

 

 

9. O widget interativo GestureDetector

Detecte gestos como tocar, arrastar e dimensionar usando o widget GestureDetector. Crie widgets interativos que respondam de forma eficaz às entradas do usuário. Aqui está um exemplo que altera a cor de fundo de um Container ao tocar:

GestureDetector(  
    onTap: () {
    // Handle tap here  
    },  child: YourWidget(),
)

 

10. O elegante widget ClipRRect

Corte seus widgets em retângulos arredondados usando o widget ClipRRect. Crie facilmente cantos arredondados e elegantes para imagens ou contêineres. Aqui está um exemplo que corta um Container em um retângulo arredondado:

ClipRRect(
  borderRadius: BorderRadius.circular(15),  
  child: YourWidget(),
)

 

 

Conclusão: capacite suas UIs com estes 10 widgets Flutter avançados

Concluindo, esses dez widgets Flutter avançados serão suas armas secretas para construir interfaces de usuário impressionantes e dinâmicas com facilidade. Combine-os com outros widgets e ferramentas Flutter para criar aplicativos móveis que não sejam apenas bonitos, mas também altamente interativos e de alto desempenho. Obtenha codificação e libere sua criatividade!

Espero que este artigo tenha inspirado você a explorar esses widgets avançados do Flutter. Compartilhe suas experiências e pensamentos sobre os widgets listados. Você já usou algum deles em seus projetos? Você encontrou desafios ou tem dicas para compartilhar? Quais outros widgets Flutter avançados você acredita que deveriam estar nesta lista? Seus comentários e experiências são inestimáveis para a comunidade Flutter. Compartilhe-os nos comentários abaixo. Não se esqueça de aplaudir este artigo ou siga-me se você achou útil!