Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Argumento dos widgets

Alguns widgets recebem outro como argumento. Sendo que podemos escolher um parâmetro nomeado e simplesmente um inteiro como valor. Outros widgets recebem outro widget como argumento e podem ser inseridos vários outros parâmetros, além de outros que recebem um Construtor Nomeado (quando inserimos "." e aparecem outros opções). Como sei quando utilizar um ou outro tipo de argumento? Como exemplo, deixo trecho do código da aula:

//Trecho de código suprimido

Container(
  color: Colors.blue,
  decoration: BoxDecoration(
    borderRadius: BorderRadius.circular(4)
  ),
  height: 140,
),
1 resposta
solução!

Oi, Ricardo. Tudo bem?

Entendo sua dúvida sobre quando usar diferentes tipos de argumentos nos widgets no Flutter. Vamos tentar esclarecer isso!

  1. Parâmetros Nomeados vs. Posicionais:

    • Parâmetros Nomeados são usados para melhorar a legibilidade do código. Eles são comuns em Flutter, pois ajudam a entender o que cada argumento representa sem precisar lembrar a ordem exata. Por exemplo, no Container, você vê parâmetros nomeados como color, decoration, height, etc.
    • Parâmetros Posicionais são menos comuns em Flutter, mas você os verá em algumas funções e construtores onde a ordem dos argumentos é clara e não há muitos argumentos a serem passados.
  2. Widgets como Argumentos:

    • Muitos widgets no Flutter aceitam outros widgets como argumentos. Isso é parte do conceito de composição do Flutter, onde você constrói interfaces aninhando widgets. Por exemplo, um Container pode ter um child que é outro widget, como um Text ou Image.
  3. Construtores Nomeados:

    • Construtores nomeados são usados para fornecer diferentes maneiras de instanciar uma classe. No exemplo do BorderRadius, você tem várias opções como circular, only, all, etc. Cada um desses construtores nomeados oferece uma maneira específica de definir o raio das bordas.

No seu exemplo, o Container usa o parâmetro decoration que aceita um BoxDecoration. Dentro do BoxDecoration, você pode usar o borderRadius com o construtor nomeado BorderRadius.circular(4) para arredondar as bordas.

A escolha entre usar um parâmetro nomeado, um widget como argumento ou um construtor nomeado geralmente depende do que você quer alcançar e das opções que a API do Flutter oferece para aquele widget específico. Com o tempo e prática, você se acostumará a identificar rapidamente qual usar.

Espero ter ajudado!

Siga firme nos seus estudos e conte com o fórum sempre que precisar!

Abraços :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado