**Try this plugin:**
*[Presentation Display 1.0.0][1]*
[1]: https://pub.dev/packages/presentation_displays
**Simple steps:**
- Create Widgets that need to display and define them as a permanent
router when you configure the router in the Flutter code.
- Get the Displays list by calling displayManager.getDisplays ()
- Define which Display needs to display For instance: displays [1]
.displayId Display the index 2.
- Display it on Display with your routerName as presentation
displayManager.showSecondaryDisplay (displayId: displays [1]
.displayId, routerName: "presentation")
- Transmit the data from the main display to the secondary display by
displayManager.transferDataToPresentation (" test transfer data ")
- The secondary screen receives data
```
@override
Widget build (BuildContext context) {
return SecondaryDisplay (
callback: (argument) {
setState (() {
value = argument;
});
}
);
}
```
- wesetup new entry point for secondary display so we can decided what
we need to call for initialization. Works only for android for now
```
@pragma('vm:entry-point')
void secondaryDisplayMain() {
/// do something that don't break plugin registration here.
}
```
Flutter plugin supports to run on two screens. It's basically a tablet connected to another screen via an HDMI or Wireless
Plugin: [link][1]
**Idea**: We create a Widget by using Flutter code and pass it to Native code side then convert it to FlutterEngine and save it to FlutterEngineCache for later use.
Next, we define the Display by using displayId and we will define the UI flutter that needs to display by grabbing FlutterEngine in FlutterEngineCache and transferring it to Dialog Presentation as a View.
We provide methods to get a list of connected devices and the information of each device then transfer data from the main display to the secondary display.
**Simple steps:**
Create Widgets that need to display and define them as a permanent router when you configure the router in the Flutter code.
Get the Displays list by calling `displayManager.getDisplays ()`
Define which Display needs to display For instance: displays [1] `.displayId` Display the index 2.
Display it on Display with your routerName as presentation `displayManager.showSecondaryDisplay (displayId: displays [1] .displayId, routerName: "presentation")`
Transmit the data from the main display to the secondary display by `displayManager.transferDataToPresentation (" test transfer data ")`
The secondary screen receives data
@override
Widget build (BuildContext context) {
return SecondaryDisplay (
callback: (argument) {
setState (() {
value = argument;
});
}
);
}
[![enter image description here][2]][2]
[1]: https://pub.dev/packages/presentation_displays
[2]: https://i.sstatic.net/Z7nNK.png
Note: Extracted from Github page.