我想在应用运行时更改其方向(强制某些页面仅纵向放置,而其他页面仅强制放置)

我想强制游戏应用程序某些页面的方向。就像,我希望方向是登陆页面的纵向,游戏的选项以及玩家的选择,但是我想在游戏开始时强制方向是横向的...我尝试使用:

super.initState();
  SystemChrome.setPreferredOrientations([
    DeviceOrientation.landscapeleft,DeviceOrientation.landscapeRight,])

,它确实可以在android上运行,(除了在获得正确方向之前会更改方向3次...),但是在iOS上,它不会强制更改...仅在打开设备时更改然后它可以工作并保持横向模式。我希望即使我的手机处于纵向状态也可以改变视图...

有人有同样的问题并且知道如何解决吗?

我试图将SystemChrome.setPreferredOrientations放在Widget构建函数中,但是没有用。

cy518598 回答:我想在应用运行时更改其方向(强制某些页面仅纵向放置,而其他页面仅强制放置)

这是iOS上Flutter的known issue。您可以通过运行命令flutter channel master等待发布或切换到最新的Flutter版本。但是要小心-master分支不够稳定,无法在生产中使用。

,

使用新版的flutter,它可以在首选方向上工作。

SystemChrome.setPreferredOrientations([
    DeviceOrientation.landscapeLeft,DeviceOrientation.landscapeRight,])
,

尝试使用:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

这对我有用!

本文链接:https://www.f2er.com/3123414.html

大家都在问