为什么双倍无穷大的宽度没有显示在行的子项中?

  • 本文关键字:显示 无穷大 flutter dart
  • 更新时间 :
  • 英文 :


我是android开发人员,现在正在学习flutter,在这个示例代码中,我想知道为什么将double.infinity作为行中唯一一个子项的宽度会使其不显示如果我把double.infinity作为列中唯一一个子的高度,那么列也是如此当然,如果我取消注释行中的另一个子项,那么整行仍然不会显示是否为另一个子编写了宽度的double.inifinity

class HomeScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: Row(children: [
Container(
color: Colors.orange,
// width: double.infinity,
child: Text(
'Login 1',
style: TextStyle(
fontSize: 30,
fontWeight: FontWeight.bold,
),
),
),
// Text(
//   'Login 2',
//   style: TextStyle(
//     fontSize: 30,
//     fontWeight: FontWeight.bold,
//   )
//  ,
// ),
]),
),
);
}
}

之所以会发生这种情况,是因为您正在将无限width传递给具有无界宽度的父对象。您只能为具有有界高度的父窗口小部件设置无限宽度。用Expanded小部件包装Container,或者给它一些constraints

Expanded(
child: Container(
color: Colors.orange,
// width: double.infinity,
child: Text(
'Login 1',
style: TextStyle(
fontSize: 30,
fontWeight: FontWeight.bold,
),
),
),
Text(
'Login 2',
style: TextStyle(
fontSize: 30,
fontWeight: FontWeight.bold,
),
),
),

有关更多信息,请查看此。

最新更新