Search packages, repositories and app categories

full_screen_image_null_safe cover
Package detailsv2.0.0

full_screen_image_null_safe

Full screen photo viewer. It shuts off when scrolling vertically. Can work with Hero widget.

AndroidiOSWebmacOSWindowsLinux
30-day downloads
842
Likes
43
Pub points
130

Install package

flutter pub add full_screen_image_null_safe

Package Overview

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

A full-screen image viewer package for Flutter that automatically dismisses when the user scrolls vertically. It supports seamless integration with the Hero widget for smooth transitions between images. Designed to be null-safe and compatible across multiple platforms including Android, iOS, Web, macOS, Windows, and Linux. Ideal for apps requiring immersive photo viewing experiences with intuitive gesture-based navigation.

Use cases

  • Viewing high-resolution images in full screen
  • Creating image galleries with smooth transitions
  • Integrating with Hero animations for image sharing
  • Enhancing photo browsing on mobile and web
  • Implementing swipe-to-dismiss behavior
  • Displaying images in a fullscreen modal

Key features

  • Auto-dismiss on vertical scroll
  • Null-safe Dart implementation
  • Hero widget compatibility
  • Cross-platform support (Android, iOS, Web, macOS, Windows, Linux)
  • Gesture-driven navigation
  • Lightweight and easy to integrate

Suitable for

  • Mobile and web photo gallery apps
  • Image-heavy applications
  • Apps using Hero transitions
  • Developers seeking simple fullscreen image viewers
  • Projects requiring platform-agnostic image display
  • Users wanting intuitive image navigation

Considerations

  • May not support horizontal scrolling dismissal
  • Limited customization options for gestures
  • Depends on parent scroll context for dismissal
  • Best suited for single-image views rather than complex layouts
  • Requires careful handling in nested scroll views
  • Not designed for video or animated content

Original README

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

Full Screen image

Full screen photo viewer. It shuts off when scrolling vertically. Can work with Hero widget

Installation

To use this plugin, add full_screen_image_null_safe as a dependency in your pubspec.yaml file.

full_screen_image_null_safe: any

Getting Started

Check out the example app using full_screen_image.

Flutter

Full screen image:
  FullScreenWidget(
        child: ClipRRect(
          borderRadius: BorderRadius.circular(16),
          child: Image.asset(
            "assets/image1.jpg",
            fit: BoxFit.cover,
          ),
        ),
      )

Full screen with hero:
FullScreenWidget(
        child: Hero(
          tag: "customTag",
          child: ClipRRect(
            borderRadius: BorderRadius.circular(16),
            child: Image.asset(
              "assets/image2.jpg",
              fit: BoxFit.cover,
            ),
          ),
        ),
      );

Small image:

if you don't want widget full screen then use center widget

 FullScreenWidget(
        child: Center(
          child: Hero(
            tag: "smallImage",
            child: ClipRRect(
              borderRadius: BorderRadius.circular(16),
              child: Image.asset(
                "assets/image3.jpg",
                fit: BoxFit.cover,
              ),
            ),
          ),
        ),
      );
Custom background color:
FullScreenWidget(
        backgroundColor: Colors.purple,
        child: Center(
          child: Hero(
            tag: "customBackground",
            child: ClipRRect(
              borderRadius: BorderRadius.circular(16),
              child: Image.asset(
                "assets/image3.jpg",
                fit: BoxFit.cover,
              ),
            ),
          ),
        ),
      );

Non transparent widget:
FullScreenWidget(
        backgroundColor: Colors.purple,
        backgroundIsTransparent: false,
        child: Center(
          child: Hero(
            tag: "nonTransparent",
            child: ClipRRect(
              borderRadius: BorderRadius.circular(16),
              child: Image.asset(
                "assets/image3.jpg",
                fit: BoxFit.cover,
              ),
            ),
          ),
        ),
      );

Custom widget:
  FullScreenWidget(
        child: SafeArea(
          child: Card(
            elevation: 4,
            child: Container(
              height: 350,
              padding: const EdgeInsets.all(8.0),
              child: Column(
                children: <Widget>[
                  Hero(
                    tag: "customWidget",
                    child: ClipRRect(
                      borderRadius: BorderRadius.circular(16),
                      child: Image.asset(
                        "assets/image3.jpg",
                        fit: BoxFit.cover,
                      ),
                    ),
                  ),
                  SizedBox(
                    height: 16,
                  ),
                  Text('Lorem text',style: TextStyle(color: Colors.black,fontWeight: FontWeight.bold),),
                  SizedBox(
                    height: 16,
                  ),
                  Expanded(
                    child: Text(
                      lorem,
                    ),
                  ),

                ],
              ),
            ),
          ),
        ),
      );

License

Apache

Categories

Source repository

Projects using this package

No data available yet.