Search categories, packages and repositories

Package detailsv1.2.1

fullscreen_window

A Flutter plugin makes your window fullscreen.

AndroidiOSWebWindowsLinux
30-day downloads
24.9K
Likes
30
Pub points
140

Install package

flutter pub add fullscreen_window

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

The fullscreen_window package is a Flutter plugin that enables developers to control window fullscreen mode across multiple platforms, including Windows, Linux, and macOS. It provides simple APIs to toggle fullscreen state, manage window size, and handle display modes. While primarily designed for desktop environments, it also supports Android, iOS, and Web, though functionality may vary by platform. The plugin is useful for applications requiring immersive experiences, such as media players, games, or kiosk-style apps. It integrates seamlessly with Flutter’s existing UI framework and is maintained by the community.

Use cases

  • Immersive media playback
  • Kiosk applications
  • Game development
  • Fullscreen presentations
  • Desktop app optimization

Key features

  • Toggle fullscreen mode
  • Cross-platform support
  • Window size management
  • Platform-specific behavior handling
  • Simple API integration

Suitable for

  • Desktop application developers
  • Media and gaming apps
  • Interactive kiosks
  • Presentations software
  • Apps needing full screen control

Considerations

  • Limited functionality on mobile and web
  • Platform-specific quirks
  • Requires desktop environment
  • May conflict with system UI
  • Not suitable for all app types

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

fullscreen_window

This plugin makes your window fullscreen.

Platform Support

Windows Linux Web Android iOS
✔️ ✔️ ✔️ ✔️ ✔️
  • Web is tested on Chrome / Edge (in Windows)
  • Not tested on iOS, but I think it should work because just use the pure Flutter API and works on Android.

Quick Start

Installation

Add this to your package's pubspec.yaml file:

dependencies:
  fullscreen_window: ^1.2.0

Or

dependencies:
  fullscreen_window:
    git:
      url: https://github.com/jakky1/fullscreen_window.git
      ref: master
Functions
import 'package:fullscreen_window/fullscreen_window.dart';

FullScreenWindow.setFullScreen(true);    // enter fullscreen
FullScreenWindow.setFullScreen(false);   // exit fullscreen
Size screen_logical_size = await FullScreenWindow.getScreenSize(context);
Size screen_physical_size = await FullScreenWindow.getScreenSize(null);
Example
import 'package:flutter/material.dart';
import 'package:fullscreen_window/fullscreen_window.dart';

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

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {

  String screenSizeText = "";

  void setFullScreen(bool isFullScreen) {
    FullScreenWindow.setFullScreen(isFullScreen);
  }

  void showScreenSize(BuildContext context) async {
    Size logicalSize = await FullScreenWindow.getScreenSize(context);
    Size physicalSize = await FullScreenWindow.getScreenSize(null);
    setState(() {
      screenSizeText = "Screen size (logical pixel): ${logicalSize.width} x ${logicalSize.height}\n";
      screenSizeText += "Screen size (physical pixel): ${physicalSize.width} x ${physicalSize.height}\n";
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('FullScreen example app'),
        ),
        body: Center(
          child: Column(
            mainAxisSize: MainAxisSize.min,
            children: [
              ElevatedButton(
                onPressed: () => setFullScreen(true), 
                child: const Text("Enter FullScreen"),
              ),

              const SizedBox(height: 10),
              ElevatedButton(
                onPressed: () => setFullScreen(false), 
                child: const Text("Exit FullScreen"),
              ),

              const SizedBox(height: 10),
              Builder(builder: (context) => ElevatedButton(
                onPressed: () => showScreenSize(context), 
                child: const Text("Show screen size"),
              )),

              const SizedBox(height: 10),
              if (screenSizeText.isNotEmpty) Text(screenSizeText),
            ]),
          ),
      ),
    );
  }
}

Categories

Dependencies

Dependency list 2 items

  • plugin_platform_interface^2.0.2
  • web^1.0.0

Source repository

Projects using this package