flutter - Flutter 如何处理方向变化

方向更改处理是否像在 Flutter 中使用更新的尺寸重新运行小部件的构建一样简单?

我问是因为在 Android 中,整个 Activity 都会被重建,这就是为什么所有信息都通过 Intent 发送的原因。

在设计小部件时要记住哪些问题,以便它们处理方向更改或导致 UI 更改的其他更改?

最佳答案

基本上 - 是的!现在,更具体地说 MediaQuery小部件监听方向/大小/布局变化并重建它的 child 。这个小部件已经是 MaterialAppWidgetsApp 小部件的一部分,因此您可能不需要包含它。

如果您希望您的小部件利用设备方向,您可以使用 MediaQuery.of 静态成员来访问 MediaQueryData ,其中包含设备方向。例如,一个以纵向和横向显示不同文本的简单小部件(需要是 MaterialAppWidgetsAppMediaQuery 的子级)。

class MyWidget extends StatelessWidget {
  Widget build(BuildContext context) {
    final mediaQueryData = MediaQuery.of(context);
    if (mediaQueryData.orientation == Orientation.landscape) {
      return const Text('landscape');
    }
    return const Text('portrait!');
  }
}

https://stackoverflow.com/questions/49663494/

相关文章:

android - Flutter 使用 ProGuard 和 Firebase Auth 构建崩溃

image - Flutter - 将图像上传到 Firebase 存储

multithreading - 如何在 Flutter 中在后台运行任务?

dart - 是否可以使用 Flutter 提供的 Dart SDK 作为 AngularDart

flutter - 如何停止 flutter 应用程序中的firebase错误

dart - 在 Flutter 中使用 JS 库

firebase - Flutter Admob AppID 使用 Android 还是 iOS?

android - Flutter Android Studio 中缺少设备文件资源管理器选项

flutter - 如何在 flutter 中更改 textField 的下划线颜色?

flutter - 如何知道小部件在视口(viewport)中是否可见?