我想把我的屏幕垂直分为三个相等的部分,三种不同的颜色,我只得到白色输出。
import 'package:flutter/material.dart';
void main() {
runApp(const DivideVertically3EqualParts());
}
class DivideVertically3EqualParts extends StatefulWidget {
const DivideVertically3EqualParts({super.key});
@override
State<DivideVertically3EqualParts> createState() =>
_DivideVertically3EqualPartsState();
}
class _DivideVertically3EqualPartsState
extends State<DivideVertically3EqualParts> {
@override
Widget build(BuildContext context) {
return Row(
children: [
Expanded(
child: Container(
color: Colors.orange,
)),
Expanded(
child: Container(
color: Colors.white,
)),
Expanded(
child: Container(
color: Colors.green,
))
],
);
}
}
这里是代码,我得到白色屏幕它应该是橙子,白色和绿色。
2条答案
按热度按时间rhfm7lfc1#
您看到白色可能是由于以下错误
具有多个子项的Horizontal RenderFlex具有空textDirection,因此布局顺序未定义。
您可以检查Flutter error: RenderFlex with multiple children has a null textDirection以了解有关此错误解决方案的详细信息。
解决这个问题最简单的方法是用
MaterialApp
Package 小部件。nnsrf1az2#
您的代码需要做一些小的更改。
顺便说一句,你的代码很完美。而且对我也有效,