Как удалить строку заголовка из приложения Flutter, созданного для Windows?

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

2 ответа

Используйте этот пакет window_manager и сделайте это.

Добавьте эту строку в начало файла:

      import 'package:window_manager/window_manager.dart';

Затем добавьте эту строку кода (эта функция официально не документирована).

      void main() async{
  runApp(const MyApp());
  windowManager.waitUntilReadyToShow().then((_) async{
      await windowManager.setAsFrameless();
  });
}

В качестве альтернативы вы можете просто скрыть заголовок, но оставить кнопки видимыми. Это можно сделать следующим образом:

      await windowManager.setTitleBarStyle('hidden');

С помощью этого пакета bitsdojo_window выполните следующие действия:

В папке вашего приложения перейдите к windows\runner\main.cppи добавьте эти две строки в начало файла:

      #include <bitsdojo_window_windows/bitsdojo_window_plugin.h>
auto bdw = bitsdojo_window_configure(BDW_CUSTOM_FRAME | BDW_HIDE_ON_STARTUP);

Теперь перейдите к lib\main.dartи добавьте этот код в основную функцию сразу после runApp(MyApp());:

      void main() {
  runApp(MyApp());

  // Add this code below

  doWhenWindowReady(() {
    appWindow.show();
  });
}

Вы также можете настроить окно с помощью чего-то вроде:

        doWhenWindowReady(() {
    final initialSize = Size(600, 450);
    appWindow.minSize = initialSize;
    appWindow.size = initialSize;
    appWindow.alignment = Alignment.center;
    appWindow.show();
  });

Чтобы реализовать свои собственные кнопки заголовка и текст, вы можете использовать эти методы из пакета:

      appWindow.title(title);
appWindow.close();
appWindow.maximize();
appWindow.minimize();

Вы также можете присвоить свойства строки заголовка любому виджету (например, перетаскивание и двойной щелчок для максимизации), поместив его внутрь MoveWindow()виджет.

Другие вопросы по тегам