如何让我的所有页面在 Flutter 应用程序中响应?我应该在每个页面中实现响应式布局代码还是会从其父级(main.dart)继承响应式布局?有很多关于如何使管理屏幕响应式的教程。但是,如果 flutter 应用程序包含多个页面,我应该为移动设备、选项卡和桌面布局编写不同的布局代码吗?
美好的一天!
在我们的移动应用程序中,我们结合使用 MediaQuery.of(context).size 和 SizedBox() 等小部件来实现响应能力。 示例:
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return SizedBox(
width: MediaQuery.of(context).size.width * 0.8,
child: COntainer(),
);
}
}
还有 LayoutBuilder(),您可以使用您提供给 LayoutBuilder 的尺寸参数来构建小部件。 这可能会有所帮助:https://docs.flutter.dev/ui/layout/responsive/adaptive-responsive