Satır neden bir Sütunun içinde yatay olarak ortalanmıyor
Varsayılan olarak bildiğimiz gibi, Column tam genişliğe sahipse çocuklarını yatay olarak ortalıyor ama bir sütunun içine iki kart ve bir satır yerleştirdiğimde, iki kart yatay olarak ortalanarak ortalanarak, ancak satır başlangıç konumunda aynı kalıyor ? Neden?
Bence satır yatay olarak ortalanmalı çünkü benim durumumda Column'un bir çocuğu ama değil.
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Flutter App'),
),
body: Container(
color: Colors.purple,
height: double.infinity,
child: Column(
// mainAxisAlignment: MainAxisAlignment.center,
// crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
Card(
child: Text(
'Chart',
style: TextStyle(fontSize: 20.0),
),
elevation: 5,
color: Colors.blue,
),
Card(
child: Text(
'list of tx',
style: TextStyle(
fontSize: 20.0,
),
),
color: Colors.purple,
),
Row(
children: [
Text('this is row'),
],
),
],
),
),
);
}
}
bu kodun çıktısı
Yanıtlar
Bu, varsayılan olarak Row'un tüm yatay alanı alacağı için oluyor. Mümkün olduğunca az yer kaplamasını söyleyerek düzeltebilirsiniz:
Row(
mainAxisSize: MainAxisSize.min,
...
)
mainAxisAlignment
Satırın olarak ayarlanması, MainAxisAlignment.center
yalnızca Satır içinde bir widget varsa çalışacaktır. Sadece çocuklarına merkeze gitmelerini söyler.
Varsayılan olarak mainAxisSize
mülkiyet olduğu MainAxisSize.max
içinde Satır sadece bunu değiştirmek yapmanız gereken şey, Widget MainAxisSize.min
, ana gereci tarafından Etkiler için, bu örnekte kim Sütun
Row(
mainAxisSize: MainAxisSize.min,
...
)
mainAxisAlignment
Satırınıza argüman aktarmayı deneyin . Örneğin
Row(
mainAxisAlignment: MainAxisAlignment.center,
...
)
Bu, Satırın çocuklarının Ortalanmasını sağlayacaktır.