以下是一个简单的 Flutter LayoutBuilder 代码示例:
import 'package:flutter/material.dart';
class LayoutBuilderDemo extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('LayoutBuilder Demo'),
),
body: LayoutBuilder(
builder: (BuildContext context, BoxConstraints constraints) {
return Container(
alignment: Alignment.center,
child: Text(
'Container height: ${constraints.maxHeight}, width: ${constraints.maxWidth}',
style: TextStyle(fontSize: 20),
),
);
},
),
);
}
}
在这个示例中,我们使用 LayoutBuilder 包装了一个 Container。LayoutBuilder 接收一个 builder 函数,该函数获取一个 BuildContext 和 BoxConstraints 对象作为参数,并返回一个 widget。在这个例子中,我们使用 constraints.maxHeight 和 constraints.maxWidth 属性来计算 and 显示 Container 的高度和宽度。
渲染效果如下所示: