我有一个ButtonTheme和一个InkWell(在列内)未居中。 我尝试使用CrossAxisAlignment.center向左填充,但仍然不填充。 有什么建议吗?
body: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
ButtonTheme(
minWidth: 300.0,
child: RaisedButton(
shape: new RoundedRectangleBorder(
borderRadius: new BorderRadius.circular(18.0),
side: BorderSide(color: Colors.green)),
onPressed: () {},
color: Colors.green,
textColor: Colors.white,
child: Text("Sample Text", style: TextStyle(fontSize: 14)),
)),
InkWell(
onTap: () {},
child: Ink.image(
image: AssetImage('assets/sampleimg.jpg'),
width: 280,
height: 50,
padding: EdgeInsets.only(left: 60),
),
),
谢谢
哈维尔·卡塞雷斯
答案 0 :(得分:1)
尝试用Center小部件包装您的Column小部件
body: Center(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
ButtonTheme(
minWidth: 300.0,
child: RaisedButton(
shape: new RoundedRectangleBorder(
borderRadius: new BorderRadius.circular(18.0),
side: BorderSide(color: Colors.green)),
onPressed: () {},
color: Colors.green,
textColor: Colors.white,
child: Text("Sample Text", style: TextStyle(fontSize: 14)),
)),
InkWell(
onTap: () {},
child: Ink.image(
image: AssetImage('assets/sampleimg.jpg'),
width: 280,
height: 50,
padding: EdgeInsets.only(left: 60),
),
),
),
请告知是否可行!!!
答案 1 :(得分:0)
由于该列没有固定的宽度或高度,因此可以用Container包裹它,并为其指定高度和屏幕宽度。 您可以通过以下两行来获取它:
final deviceHeight = MediaQuery.of(context).size.height;
final deviceWidth = MediaQuery.of(context).size.width;
然后您可以使用center widget
或crossAxisAlignment
甚至是mainAxisAlignment
,因为现在列知道了它的高度和宽度。