Проблема с собственной ориентацией устройства во Flutter - PullRequest
1 голос
/ 17 июня 2020

Я работаю с Flutter и использую Плагин Native Device Orientation

Я пытаюсь узнать ориентацию устройства и управлять своим видом на основе этого.

Этот плагин работает очень хорошо, но я обнаружил проблему, когда нахожусь на странице A с NativeDeviceOrientationReader и go на странице B, на которой есть еще NativeDeviceOrientationReader.

В этом случае страница, которая должна иметь NativeDeviceOrientation.landscapeLeft, будет иметь NativeDeviceOrientation.landscapeRight, даже если я не изменил ориентацию в середине.

Примечание: если я поверну телефон после смены страницы начинает исправно работать. Также, если я удалю один из NativeDeviceOrientationReader's, он тоже будет работать нормально.

Я использую этот код:

NativeDeviceOrientationReader(
    builder: (context) {
    NativeDeviceOrientation orientation = NativeDeviceOrientationReader.orientation(context);
    var quarterTurns = 0;
    if (orientation == NativeDeviceOrientation.landscapeLeft) {
          quarterTurns = 3;
     } else if (orientation == NativeDeviceOrientation.landscapeRight) {
          quarterTurns = 1;
     }
  }
),

(...)

Я не знаю, нужно ли как-то закрыть ридер или что-то в этом роде.

Заранее спасибо!

-------------- РЕДАКТИРОВАТЬ 1 ------ --------

На самом деле я не исправил проблему, но я мог решить свою проблему, изменив один NativeOrientationReader на трепещущий OrientationBuilder, потому что я понял, что мне не нужен текущий вращение, я только хотел знать, альбом у телефона или портретный.

Спасибо.

...