Как удалить строку заголовка из приложения 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()
виджет.