open static method
Future<void>
open(
- BuildContext context, {
- required UMediaController controller,
- UVideoSettings? settings,
- String? title,
- List<
UVideoMarker> markers = const <UVideoMarker>[], - UVideoGestureConfig gestures = const UVideoGestureConfig(),
- Color? accentColor,
- Widget thumbnailBuilder(
- BuildContext context,
- Duration position
- bool forceLandscape = true,
Implementation
static Future<void> open(
BuildContext context, {
required UMediaController controller,
UVideoSettings? settings,
String? title,
List<UVideoMarker> markers = const <UVideoMarker>[],
UVideoGestureConfig gestures = const UVideoGestureConfig(),
Color? accentColor,
Widget Function(BuildContext context, Duration position)? thumbnailBuilder,
bool forceLandscape = true,
}) async {
if (forceLandscape) {
await SystemChrome.setPreferredOrientations(<DeviceOrientation>[DeviceOrientation.landscapeLeft, DeviceOrientation.landscapeRight]);
}
await SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky);
if (!context.mounted) return;
await Navigator.of(context).push<void>(
PageRouteBuilder<void>(
transitionDuration: const Duration(milliseconds: 250),
pageBuilder: (BuildContext context, Animation<double> animation, Animation<double> secondary) => Scaffold(
backgroundColor: const Color(0xFF000000),
body: UVideo(
controller: controller,
settings: settings,
title: title,
markers: markers,
gestures: gestures,
accentColor: accentColor,
borderRadius: 0,
isFullscreen: true,
thumbnailBuilder: thumbnailBuilder,
onDismiss: () => Navigator.of(context).pop(),
),
),
transitionsBuilder: (BuildContext context, Animation<double> animation, Animation<double> secondary, Widget child) =>
FadeTransition(opacity: animation, child: child),
),
);
await SystemChrome.setPreferredOrientations(DeviceOrientation.values);
await SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge);
}