Eu tenho uma exibição de lista para mostrar todos os nomes disponíveis.. Widget de texto obtido dentro do contêiner..
aqui eu quero a mesma largura para todos os contêineres de nomes dentro da exibição de lista ...
como..se os nomes forem apenas 2 ..estes devem ocupar totalwidth/2 e assim por diante para mais nomes
como se os nomes fossem 4. ..estes deveriam ocupar totalwidth/4
Scaffold(
body: Center(
child: Container(
height: 80,
color: Colors.grey,
child: ListView.builder(
scrollDirection: Axis.horizontal,
itemCount: names.length,
itemBuilder: (context,index){
return Padding(
padding: const EdgeInsets.all(8.0),
child: Container(
decoration: BoxDecoration(
color: Colors.green,
borderRadius: BorderRadius.circular(8.0),
),
child: Center(child: Text(names[index])),
),
);
}),
),
),
);
Como mencionei nas linhas de comentários, eu mesmo crio uma matriz de nomes. Na parte Width, especifiquei a proporção da largura para a matriz de nomes para ser compatível com cada tela usando MediaQuery. Aproveite seu trabalho.
Saída:
Você pode armazenar a largura do dispositivo em uma variável e dividi-la com o comprimento da lista de nomes e atribuí-la ao contêiner pai do texto e ocupará todo o espaço disponível.