MaterialVideoControlsThemeData class
Theming related data for MaterialVideoControls. These values are used to theme the descendant MaterialVideoControls.
Constructors
-
MaterialVideoControlsThemeData({bool displaySeekBar = true, bool automaticallyImplySkipNextButton = true, bool automaticallyImplySkipPreviousButton = true, bool volumeGesture = false, bool brightnessGesture = false, bool seekGesture = false, bool gesturesEnabledWhileControlsVisible = true, bool seekOnDoubleTap = false, bool seekOnDoubleTapEnabledWhileControlsVisible = true, List<
int> seekOnDoubleTapLayoutTapsRatios = const [1, 1, 1], List<int> seekOnDoubleTapLayoutWidgetRatios = const [1, 1, 1], bool visibleOnMount = false, bool speedUpOnLongPress = false, double speedUpFactor = 2.0, double verticalGestureSensitivity = 100, double horizontalGestureSensitivity = 1000, Color? backdropColor = const Color(0x66000000), EdgeInsets? padding, Duration controlsHoverDuration = const Duration(seconds: 3), Duration controlsTransitionDuration = const Duration(milliseconds: 300), Widget bufferingIndicatorBuilder(BuildContext)?, Widget volumeIndicatorBuilder(BuildContext, double)?, Widget brightnessIndicatorBuilder(BuildContext, double)?, Widget seekIndicatorBuilder(BuildContext, Duration)?, Widget speedUpIndicatorBuilder(BuildContext, double)?, List<Widget> primaryButtonBar = const [Spacer(flex: 2), MaterialSkipPreviousButton(), Spacer(), MaterialPlayOrPauseButton(iconSize: 48.0), Spacer(), MaterialSkipNextButton(), Spacer(flex: 2)], List<Widget> topButtonBar = const [], EdgeInsets topButtonBarMargin = const EdgeInsets.symmetric(horizontal: 16.0), List<Widget> bottomButtonBar = const [MaterialPositionIndicator(), Spacer(), MaterialFullscreenButton()], EdgeInsets bottomButtonBarMargin = const EdgeInsets.only(left: 16.0, right: 8.0), double buttonBarHeight = 56.0, double buttonBarButtonSize = 24.0, Color buttonBarButtonColor = const Color(0xFFFFFFFF), EdgeInsets seekBarMargin = EdgeInsets.zero, double seekBarHeight = 2.4, double seekBarContainerHeight = 36.0, Color seekBarColor = const Color(0x3DFFFFFF), Color seekBarPositionColor = const Color(0xFFFF0000), Color seekBarBufferColor = const Color(0x3DFFFFFF), double seekBarThumbSize = 12.8, Color seekBarThumbColor = const Color(0xFFFF0000), Alignment seekBarAlignment = Alignment.bottomCenter, bool shiftSubtitlesOnControlsVisibilityChange = false}) -
Theming related data for MaterialVideoControls. These values are used to theme the descendant MaterialVideoControls.
const
Properties
- automaticallyImplySkipNextButton → bool
-
Whether a skip next button should be displayed if there are more than one videos in the playlist.
final
- automaticallyImplySkipPreviousButton → bool
-
Whether a skip previous button should be displayed if there are more than one videos in the playlist.
final
- backdropColor → Color?
-
Color of backdrop that comes up when controls are visible.
final
-
bottomButtonBar
→ List<
Widget> -
Buttons to be displayed in the bottom button bar.
final
- bottomButtonBarMargin → EdgeInsets
-
Margin around the button bar.
final
- brightnessGesture → bool
-
Whether to modify screen brightness on vertical drag gesture on the left side of the screen.
final
- brightnessIndicatorBuilder → Widget Function(BuildContext, double)?
-
Custom builder for brightness indicator.
final
- bufferingIndicatorBuilder → Widget Function(BuildContext)?
-
Builder for the buffering indicator.
final
-
Color of the button bar buttons.
final
-
Size of the button bar buttons.
final
-
Height of the button bar.
final
- controlsHoverDuration → Duration
-
Duration after which the controls will be hidden when there is no mouse movement.
final
- controlsTransitionDuration → Duration
-
Duration for which the controls will be animated when shown or hidden.
final
- displaySeekBar → bool
-
Whether to display seek bar.
final
- gesturesEnabledWhileControlsVisible → bool
-
Whether to allow gesture controls to work while controls are visible.
NOTE: This option is ignored when gestures are false.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- horizontalGestureSensitivity → double
-
Gesture sensitivity on horizontal drag gestures, the higher the value is the less sensitive the gesture.
final
- padding → EdgeInsets?
-
Padding around the controls.
final
-
primaryButtonBar
→ List<
Widget> -
Buttons to be displayed in the primary button bar.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- seekBarAlignment → Alignment
-
Alignment of seek bar inside the seek bar container.
final
- seekBarBufferColor → Color
-
Color of the playback buffer section in the seek bar.
final
- seekBarColor → Color
-
Color of the seek bar.
final
- seekBarContainerHeight → double
-
Height of the seek bar Container.
final
- seekBarHeight → double
-
Height of the seek bar.
final
- seekBarMargin → EdgeInsets
-
Margin around the seek bar.
final
- seekBarPositionColor → Color
-
Color of the playback position section in the seek bar.
final
- seekBarThumbColor → Color
-
Color of the seek bar thumb.
final
- seekBarThumbSize → double
-
Size of the seek bar thumb.
final
- seekGesture → bool
-
Whether to seek on horizontal drag gesture.
final
- seekIndicatorBuilder → Widget Function(BuildContext, Duration)?
-
Custom builder for seek indicator.
final
- seekOnDoubleTap → bool
-
Whether to enable double tap to seek on left or right side of the screen.
final
- seekOnDoubleTapEnabledWhileControlsVisible → bool
-
Whether to allow double tap to seek on left or right side of the screen to work while controls are visible.
NOTE: This option is ignored when seekOnDoubleTap is false.
final
-
seekOnDoubleTapLayoutTapsRatios
→ List<
int> -
seekOnDoubleTapLayoutTapsRatios
defines the width proportions for the interactive areas responsible for seek actions (backward seek, instant tap, forward seek) when a double tap occurs on the video widget. This property divides the video widget into three segments horizontally. Each integer in the list represents the relative width of each segment. By default, the value[1, 1, 1]
means that the video widget is equally divided into three segments: the left segment for backward seek, the middle segment for instant tap (usually show and hide controls), and the right segment for forward seek. Adjusting these values changes the width of the interactive areas for each double tap action.final -
seekOnDoubleTapLayoutWidgetRatios
→ List<
int> -
seekOnDoubleTapLayoutWidgetRatios
defines the width proportions for the visual indicators or widgets that appear during the double tap actions (backward seek, instant tap, forward seek). Similar toseekOnDoubleTapLayoutTapsRatios
, it divides the area where these indicators are displayed into three segments. Each integer in the list represents the relative width of each segment where the corresponding indicators will be shown. The default[1, 1, 1]
equally divides the space for each indicator. Modifying these values can change the layout of the seek indicators, giving more or less space to each one based on the specified ratios.final - shiftSubtitlesOnControlsVisibilityChange → bool
-
Whether to shift the subtitles upwards when the controls are visible.
final
- speedUpFactor → double
-
Factor to speed up on long press.
final
- speedUpIndicatorBuilder → Widget Function(BuildContext, double)?
-
Custom builder for seek indicator.
final
- speedUpOnLongPress → bool
-
Whether to speed up on long press.
final
-
topButtonBar
→ List<
Widget> -
Buttons to be displayed in the top button bar.
final
- topButtonBarMargin → EdgeInsets
-
Margin around the top button bar.
final
- verticalGestureSensitivity → double
-
Gesture sensitivity on vertical drag gestures, the higher the value is the less sensitive the gesture.
final
- visibleOnMount → bool
-
Whether the controls are initially visible.
final
- volumeGesture → bool
-
Whether to modify volume on vertical drag gesture on the right side of the screen.
final
- volumeIndicatorBuilder → Widget Function(BuildContext, double)?
-
Custom builder for volume indicator.
final
Methods
-
copyWith(
{bool? displaySeekBar, bool? automaticallyImplySkipNextButton, bool? automaticallyImplySkipPreviousButton, bool? volumeGesture, bool? brightnessGesture, bool? seekGesture, bool? gesturesEnabledWhileControlsVisible, bool? seekOnDoubleTap, bool? seekOnDoubleTapEnabledWhileControlsVisible, List< int> ? seekOnDoubleTapLayoutTapsRatios, List<int> ? seekOnDoubleTapLayoutWidgetRatios, bool? visibleOnMount, bool? speedUpOnLongPress, double? speedUpFactor, double? verticalGestureSensitivity, double? horizontalGestureSensitivity, Color? backdropColor, Duration? controlsHoverDuration, Duration? controlsTransitionDuration, Widget bufferingIndicatorBuilder(BuildContext)?, Widget volumeIndicatorBuilder(BuildContext, double)?, Widget brightnessIndicatorBuilder(BuildContext, double)?, Widget seekIndicatorBuilder(BuildContext, Duration)?, Widget speedUpIndicatorBuilder(BuildContext, double)?, List<Widget> ? primaryButtonBar, List<Widget> ? topButtonBar, EdgeInsets? topButtonBarMargin, List<Widget> ? bottomButtonBar, EdgeInsets? bottomButtonBarMargin, double? buttonBarHeight, double? buttonBarButtonSize, Color? buttonBarButtonColor, EdgeInsets? seekBarMargin, double? seekBarHeight, double? seekBarContainerHeight, Color? seekBarColor, Color? seekBarPositionColor, Color? seekBarBufferColor, double? seekBarThumbSize, Color? seekBarThumbColor, Alignment? seekBarAlignment, bool? shiftSubtitlesOnControlsVisibilityChange}) → MaterialVideoControlsThemeData - Creates a copy of this MaterialVideoControlsThemeData with the given fields replaced by the non-null parameter values.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited