OptionaladsComponent layout overrides for the ads UI variant.
OptionalcastComponent layout overrides for the castReceiver UI variant.
OptionalemptyComponent layout overrides for the empty UI variant.
OptionalmainComponent layout overrides for the main UI variant.
OptionalsmallComponent layout overrides for the small-screen UI variant.
OptionalsmallComponent layout overrides for the small-screen ads UI variant.
OptionalsubtitleComponent layout overrides for the subtitle UI variant.
OptionaltvComponent layout overrides for the TV UI variant.
OptionaltvComponent layout overrides for the TV ads UI variant.
OptionalAdOptionalAdOptionalAdOptionalAdOptionalAdOptionalAdOptionalAirOptionalAudioOptionalAudioOptionalAudioOptionalBackgroundOptionalBackgroundOptionalBufferingOptionalButtonOptionalCaptionOptionalCastOptionalCastOptionalCharacterOptionalCharacterOptionalClickOptionalComponentOptionalContainerOptionalContextOptionalControlOptionalDismissOptionalDynamicOptionalEcoOptionalEcoOptionalErrorOptionalFontOptionalFontOptionalFontOptionalFontOptionalFontOptionalFullscreenOptionalHugeOptionalHugeOptionalInteractiveOptionalInteractiveOptionalLabelOptionalListOptionalListOptionalMetadataOptionalPersistentOptionalPictureOptionalPlaybackOptionalPlaybackOptionalPlaybackOptionalPlaybackOptionalPlayerOptionalPlayerOptionalQuickOptionalRecommendationOptionalSeekOptionalSelectOptionalSettingsOptionalSettingsOptionalSettingsOptionalSettingsOptionalSettingsOptionalSettingsOptionalSettingsOptionalSmallOptionalSpacerOptionalSubtitleOptionalSubtitleOptionalSubtitleOptionalSubtitleOptionalSubtitleOptionalSubtitleOptionalTitleOptionalToggleOptionalToggleOptionalTouchOptionalTvOptionalVideoOptionalVolumeOptionalVolumeOptionalVROptionalWatermarkOptionalWindowOptionalWindow
Component layout overrides keyed by public component class name, optionally scoped by UI variant.
Overrides are applied after a UI variant has been resolved and before
configureControls()runs. Excluded components are removed from the resolved component tree and released before the remaining components are initialized or configured.UI variants created by the built-in
UIFactory.build*UI()functions have a UIVariantIdentifier. CustomUIManagervariants must provide an identifier to participate in component layout overrides; variants without one keep their resolved component tree unchanged.Only component types exposed by UIComponentLayoutOverrideMap and addressable in the resolved default layout are supported. Custom components, nested components managed outside the container tree, and components created at runtime cannot be overridden. Setting components owned by a
SettingsPanelItemare supported by removing the owning settings row when excluded.Precedence is resolved in this order:
includeWatermark,ecoMode, andplaybackSpeedSelectionEnabled)componentLayoutOverridescomponentLayoutOverridesTop-level entries apply to all identified UI variants. Variant-scoped entries override top-level entries for the matching variant.
Base component keys also apply to subclasses, and more specific component keys override base component keys. For example,
ToggleButtonapplies toFullscreenToggleButton, unlessFullscreenToggleButtonhas its own override.Default component layout overrides for identified variants:
Example