flutter-如何知道设备的DeviceOrientation是向上还是向下?

时间:2018-07-11 11:39:47

标签: dart flutter

当我旋转屏幕时,它会随着屏幕旋转相机,所以我得到 倒置的相机屏幕。

return new AspectRatio(
    aspectRatio: controller.value.aspectRatio,
    child: new CameraPreview(controller),
  );

2 个答案:

答案 0 :(得分:1)

您可以使用此插件: https://pub.dartlang.org/packages/native_device_orientation

(我在iOS上遇到一些问题-报告方向相反,但这可以解决)

答案 1 :(得分:0)

您可以使用OrientationBuilder构建响应式应用程序

OrientationBuilder(
  builder: (context, orientation) {
    return GridView.count(
      // Create a grid with 2 columns in portrait mode, or 3 columns in landscape mode.
      crossAxisCount: orientation == Orientation.portrait ? 2 : 3,
    );
  },
);

Orientation currentOrientation = MediaQuery.of(context).orientation;
if(currentOrientation == Orientation.portrait){
    /* ... */
}

要强制执行特定方向,请参见此https://stackoverflow.com/a/50322184/9664127

其他有用的链接:

https://flutter.io/cookbook/design/orientation/

https://docs.flutter.io/flutter/services/DeviceOrientation-class.html

https://medium.com/@kr1uz/how-to-restrict-device-orientation-in-flutter-65431cd35113

已更新

Flutter当前不支持“方向方面”,但此插件可能在该方面有所帮助 https://pub.dartlang.org/packages/native_device_orientation