flutter_presentation_display 2.0.0 flutter_presentation_display: ^2.0.0 copied to clipboard
Flutter plugin designed to run on multiple displays, including handling secondary (presentation) display. It provides methods to interact with connected displays, transfer data, and respond to display [...]
Flutter Presentation Display #
Flutter Presentation Display
is a Flutter plugin designed to run on multiple displays, including handling secondary (presentation) display. It provides methods to interact with connected displays, transfer data, and respond to display connection changes.
Features #
- Retrieve a list of connected displays
- Show and hide secondary (presentation) display
- Transfer data from the main display to the secondary display or vice versa
- Listen to display connection changes
Installation #
Add flutter_presentation_display
to your pubspec.yaml
file:
dependencies:
flutter:
sdk: flutter
flutter_presentation_display: any # Replace with the latest version
Usage #
Import the Package #
import 'package:flutter_presentation_display/flutter_presentation_display.dart';
Initialize FlutterPresentationDisplay #
Create an instance of FlutterPresentationDisplay:
final display = FlutterPresentationDisplay();
Retrieve Displays #
Get a list of connected displays:
List<Display>? displays = await display.getDisplays();
Get Display Name by ID #
Retrieve the name of a display using its ID:
String? displayName = await display.getNameByDisplayId(1);
Get Display Name by Index #
Retrieve the name of a display using its index in the list:
String? displayName = await display.getNameByIndex(0);
Show and Hide Secondary Display #
Show a secondary display with a specific ID and router name:
bool? result = await display.showSecondaryDisplay(displayId: 1, routerName: "presentation");
Hide a secondary display using its ID: #
bool? result = await display.hideSecondaryDisplay(displayId: 1);
Transfer Data to and from Displays #
Transfer data to the secondary (presentation) display:
bool? result = await display.transferDataToPresentation({"key": "value"});
Transfer data to the main display: #
bool? result = await display.transferDataToMain({"key": "value"});
Listen to Display Connection Changes #
Listen to changes in connected displays:
display.connectedDisplaysChangedStream.listen((int? displayId) {
print('Connected display ID: $displayId');
});
Listen for Data from Displays #
Listen for data sent from the secondary (presentation) display:
display.listenDataFromPresentationDisplay((dynamic data) {
print('Data from Presentation Display: $data');
});
Listen for data sent from the main display: #
display.listenDataFromMainDisplay((dynamic data) {
print('Data from Main Display: $data');
});
Example #
Check out the example directory for a complete sample app demonstrating the use of the flutter_presentation_display
package.
License #
This package is based on presentation_displays which is licensed under the BSD 2-Clause License.
flutter_presentation_display is a modified version of the original version.