LimitedBox 是 Flutter 中的一个布局小部件,用于限制其子部件的最大尺寸。它通常用于约束子部件在某个轴上的大小,同时允许子部件在另一个轴上自由扩展。
LimitedBox 可以通过 maxWidth 和 maxHeight 参数来指定子部件的最大宽度和最大高度。
通常情况下,当子部件的大小可能会超出父部件的边界时,你可以使用 LimitedBox 来确保子部件不会超出指定的最大尺寸。
下面是一个简单的示例代码,演示如何使用 LimitedBox:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('LimitedBox Example'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
LimitedBox(
maxWidth: 200,
maxHeight: 200,
child: Container(
color: Colors.blue,
width: 300, // 宽度超过 LimitedBox 的 maxWidth
height: 300, // 高度超过 LimitedBox 的 maxHeight
child: Center(
child: Text(
'LimitedBox',
style: TextStyle(color: Colors.white),
),
),
),
),
],
),
),
),
);
}
}
在这个示例中,我们创建了一个 LimitedBox,它的 maxWidth 和 maxHeight 都被设置为 200。然后我们在 LimitedBox 中包含了一个宽度和高度分别为 300 的蓝色容器。由于包裹在 LimitedBox 中,蓝色容器的宽度和高度将会受到限制,不能超过 LimitedBox 指定的最大宽度和最大高度,因此蓝色容器会被限制在 200x200 的大小内。