在不发生Renderflex溢出错误的情况下动态更改Container/PageView的大小,可以采取以下方法:
Row(
children: [
Flexible(
flex: 1,
child: Container(
color: Colors.blue,
height: 100, // 初始高度
),
),
Flexible(
flex: 2,
child: Container(
color: Colors.green,
height: 100, // 初始高度
),
),
],
)
LayoutBuilder(
builder: (context, constraints) {
return Container(
color: Colors.blue,
width: constraints.maxWidth, // 宽度自适应父容器宽度
height: constraints.maxHeight, // 高度自适应父容器高度
);
},
)
class MyWidget extends StatefulWidget {
@override
_MyWidgetState createState() => _MyWidgetState();
}
class _MyWidgetState extends State<MyWidget> {
@override
Widget build(BuildContext context) {
return Container(
color: Colors.blue,
width: MediaQuery.of(context).size.width, // 宽度自适应屏幕宽度
height: MediaQuery.of(context).size.height, // 高度自适应屏幕高度
);
}
}
以上方法可以帮助您在不发生Renderflex溢出错误的情况下动态更改Container/PageView的大小。根据具体需求选择合适的方法,并灵活运用各类布局和约束条件来实现所需效果。
腾讯云相关产品推荐:
领取专属 10元无门槛券
手把手带您无忧上云