来自Android开发,相当于' android:layout_gravity =" center_vertical"'在Flutter?
我有两个盒子包裹在一个堆栈中,我想垂直居中对齐。但是,最大项目的大小不固定,因此我无法使用任何固定值。这带来了一些困难,因为我无法将一个孩子定位在另一个孩子身上。在Android中,您所要做的就是设置' layout_gravity' to' center_vertical'关于儿童用品。
这是我到目前为止所拥有的。图标的位置是固定的,这是不好的。
class CardItem extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new SizedBox(
width: double.infinity,
child: Stack(
children: <Widget>[
Padding(
padding: EdgeInsets.fromLTRB(72.0, 6.0, 12.0, 6.0),
child: ConstrainedBox(
constraints: BoxConstraints(
minHeight: 150.0,
),
child: Material(
elevation: 8.0,
borderRadius: BorderRadius.circular(12.0),
color: Colors.white,
child: InkWell(
onTap: () => {},
child: Padding(
padding: EdgeInsets.fromLTRB(76.0, 24.0, 6.0, 24.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
Text('Computer',
style: Theme.of(context).textTheme.headline),
Text('电脑',
style: Theme.of(context).textTheme.subhead.apply(fontWeightDelta: -2)
),
],
),
),
),
),
)
),
Align(
alignment: Alignment.centerLeft,
child: Padding(
padding: EdgeInsets.fromLTRB(12.0, 0.0, 0.0, 0.0),
child: SizedBox.fromSize(
size: Size.fromRadius(60.0),
child: Material(
elevation: 12.0,
shape: CircleBorder(),
child: Image.asset('image.png'),
),
),
),
),
],
)
);
}
}
答案 0 :(得分:1)
将其包装在Align小部件中...
Align( 对齐方式:Alignment.center, 子级:已定位( 前10名, 子代:文字('hi'), ), ),