Как войти в полноэкранный режим в веб-приложении Flutter

#flutter #dart #flutter-web

#flutter #dart #flutter-web

Вопрос:

Есть ли способ перевести веб-приложение Flutter в полноэкранный режим (скрыть панель адресов, панель вкладок и панель задач)? Или есть способ программного нажатия F11?

Я пробовал…

 @override
void dispose() {
  SystemChrome.setEnabledSystemUIOverlays(SystemUiOverlay.values);
  super.dispose();
}

@override
initState() {
  SystemChrome.setEnabledSystemUIOverlays([]);
  super.initState();
}
  

но это не сработало в веб-приложении (я этого не ожидал)

Ответ №1:

Вы можете попробовать это:

 import 'dart:html';

void goFullScreen() {
  document.documentElement.requestFullscreen();
}
  

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

1. Спасибо @Abion47 это работает, но приложение больше не может запускаться на эмуляторе из-за импорта ‘dart: html’

2. @MohamedDernoun Этот вопрос специально для Flutter for Web. Не пытайтесь использовать этот код во Flutter для мобильных / настольных компьютеров, так как он не будет работать, и в этом нет никакой цели.

3. Я решил эту проблему, используя universal_html, который содержит все функциональные возможности dart: html с большим количеством возможностей.

4. Похоже, больше не работает в iPhone, Safari

5. @Damandroid Это никогда не работало в Safari на iPhone. Среда браузера на iOS имеет гораздо более строгие ограничения на то, какие элементы могут быть полноэкранными (в основном только видео), и, насколько я знаю, Apple не намерена менять это в ближайшее время.

Ответ №2:

Если кто-то (например, я) хочет выйти из полноэкранного режима и пытается найти, как:

 void exitFullScreen() {
 document.exitFullscreen();
}
  

Надеюсь, это полезно.