Левая сторона systemChrome.setPreferredOrientations всегда имеет приоритет над правой стороной в Flutter

#flutter #flutter-layout

Вопрос:

 class VideoPlayerAct extends StatefulWidget {  final VideoPlayerController _videoController;  const VideoPlayerAct(this._videoController, {Key? key}) : super(key: key);   @override  _VideoPlayerActState createState() =gt; _VideoPlayerActState(); } class _VideoPlayerActState extends Statelt;VideoPlayerActgt; {  @override  Widget build(BuildContext context) {  return Row(  children: [  GestureDetector(  child: Icon( MediaQuery.of(context).orientation != Orientation.landscape ? Icons.fullscreen_outlined : Icons.fullscreen_exit_outlined ,  color: Colors.white,  size: 40.rpx,  ),  onTap: (){  if (MediaQuery  .of(context)  .orientation == Orientation.landscape) {    SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge);  SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);   } else { SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky);  //TODO bug always landscapeLeft  SystemChrome.setPreferredOrientations([  DeviceOrientation.landscapeRight,  DeviceOrientation.landscapeLeft,  ]);   }  },  ),  ],  );  } }   

Он должен отображаться слева, но на самом деле он находится справа. Если вы нажмете кнопку во весь экран, вы должны повернуть ее на 90 градусов против часовой стрелки, но на самом деле это по часовой стрелке. Я не знаю, почему

Комментарии:

1. В чем у тебя проблема? Где вы вызываете эту функцию?