Simple plugin to implement Picture in Picture support for Android only

Share Your Love

Simple plugin to implement Picture in Picture support for Android only.

Android Setup:

You need to declare that your app supports Picture in Picture mode by adding to your AndroidManifest.xml the following line:


Enter Picture in Picture mode:

int result = await FlutterPip.enterPictureInPictureMode();

If the result returns 0, the app has entered PiP mode successfully, if it returns 1 then most probably this indicates that the device does not support PiP mode.

This function supports an optional parameter of type PipRatio, for example:

int result = await FlutterPip.enterPictureInPictureMode(
        width: ...
        height: ...

Default values for pipRatio are width: 16 and height: 9. You also need to take in
the consideration that PiP mode only supports a value range from 0.418410 to 2.390000 for Aspect Ratio,
going anything below the minimum or above the maximum will throw a PipRatioException exception.

To check whether the app is on Picture in Picture mode:

bool result = await FlutterPip.isInPictureInPictureMode();

Simply returns a boolean indicating if the app is on PiP mode or not.


This widget has two callbacks:

    onResume: (bool pipMode) {
    onSuspended: () {
    child: ...

onResume is an Async callback that returns a boolean indicating if Picture in Picture
mode is enabled/disabled, this is useful in case your app was in PiP mode and you want
to restore your Widget Tree UI.

onSuspended is just a simple callback that you can use to execute anything you want to
do when the application is thrown in the background.



Share Your Love
Avatar photo
Lingaraj Senapati

Hey There! I am Lingaraj Senapati, the Founder of My skills are Freelance, Web Developer & Designer, Corporate Trainer, Digital Marketer & Youtuber.

Articles: 429

Newsletter Updates

Enter your email address below to subscribe to our newsletter