Youtube как полноэкранная кнопка на флаттер - PullRequest
0 голосов
/ 12 марта 2020

Я схожу с ума, пытаясь реализовать полноэкранную кнопку, похожую на Youtube, у меня дерево виджетов внутри OrientationBuilder, а лог c должен следовать следующей схеме:

Если ориентация заблокирована пользователем: Полноэкранная кнопка должна изменить ориентацию с портретной на альбомную, если на полном экране кнопка должна измениться на портретную, эта часть не проблема, я просто называю правильный SystemChrome.setPreferredOrientations([DeviceOrientation.landscapeLeft]); или SystemChrome.setPreferredOrientations([DeviceOrientation.portrait]); и все работает и ожидается

Если ориентация НЕ заблокирована пользователем: Здесь все становится хитро… Если в портретной и полноэкранной кнопке нажата SystemChrome.setPreferredOrientations([DeviceOrientation.landscapeLeft]); должна быть вызвана, но, если пользователь поворачивает телефон в альбомную ориентацию, а затем обратно в портретную ориентацию, необходимо восстановить исходный портрет (отметьте на youtube), то же самое должно произойти в полноэкранном режиме, кнопка переключения в портретную ориентацию, затем, если я перевожу телефон обратно в портретную ориентацию и затем вернемся к ландшафту, приложение должно снова вращаться. Единственное, что я выполнил, это установил правильную функциональность на iOS, в компоновщике макетов я изменил предпочтительную ориентацию на «Portrait, landscapeLeft, landscapeRight» непосредственно перед возвратом метода компоновщика OrientationBuilder, но в Android это приводит к тому, что приложение перестраивается с текущей ориентацией, но в iOS оно остается до вращения вперед-назад, любая идея?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...