O widget básico do Flutter que permite criar leiautes flexíveis nas direções horizontal e vertical, com design de objetos baseado no modelo de leiaute flexbox da Web é o
- A)Text.
Errada, porque Text serve para exibir texto, não para estruturar leiautes flexíveis.
- B)Row,Column.
Certa, porque Row e Column organizam widgets em horizontal e vertical, seguindo a lógica de flexbox.
- C)Stack.
Errada, porque Stack sobrepõe widgets em camadas, em vez de distribuir elementos em eixo flexível.
- D)Expanded.
Errada, porque Expanded é um widget auxiliar dentro de layouts flex, e não o widget básico de organização.
- E)Conteiner.
Errada, porque Container é um widget genérico de ajuste visual e espaço, não o modelo flexbox de leiaute.
Gabarito: B
No Flutter, os leiautes mais usados para organizar widgets em linha ou em coluna são justamente os widgets do tipo Flex: Row e Column. Eles funcionam de forma parecida com o flexbox da Web, porque distribuem os filhos ao longo de um eixo principal e de um eixo transversal, permitindo criar telas responsivas com pouca dor de cabeça. Em outras palavras: se você quer alinhar elementos horizontalmente, pensa em Row; se quer empilhar verticalmente, pensa em Column. Essa associação com o flexbox é o ponto central da questão. O Flutter usa uma lógica de composição de widgets, e o Row/Column é o básico para esse tipo de organização flexível. Por isso, a alternativa B está correta: ela reúne os widgets que representam essa ideia de leiaute flexível nas direções horizontal e vertical. As outras opções confundem quem está começando porque são widgets comuns, mas não são o núcleo dessa ideia de flex layout. Text serve para exibir texto, Stack é para sobrepor elementos, Expanded é um widget de ajuste dentro de flex layouts, e Container é um coringa visual para espaçamento, tamanho, decoração e afins. Então, aqui não tem mistério: a banca quer o par que traduz a lógica do flexbox no Flutter.