import 'package:flutter/material.dart';
class LayOutBuilder extends StatelessWidget {
const LayOutBuilder({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
body: LayoutBuilder(
builder: (context, p1) {
if (p1.maxHeight < 400) {
return Container();
}
},
),
);
}
}
我不知道为什么它不运行。
2条答案
按热度按时间zdwk9cvp1#
你只在
p1.maxHeight < 400
的情况下返回Container
,但是你没有指定p1.maxHeight < 400
不为真时返回什么,因此它将返回null,这是不允许的,因为它必须返回一些东西tgabmvqs2#
builder
参数需要是一个返回小部件的函数。您的实现只在某些if条件下返回小部件。在else-case中,它不返回任何东西。这是不允许的,并引发编译错误。在所有情况下都应该返回一个小部件。具体是哪个小部件取决于你的用例。但是类似下面这样的小部件将被编译: