Android Style Guide Reference

The player's core interaction elements, organized by their functional groups and location within the interface.



Ads Controls

UiGroup.ADS_CONTROL
ViewModel: VastAdsViewModel

VastAds View

VastAds View

IconComponentDescriptionCustomization Options
The VAST controls backgroundResource: N/A
Style: N/A>
Colors:@color/jw_controls_overlay
Size: N/A
CloseExit fullscreen icon, shown when the player is in fullscreen, tapping it exits fullscreenResource: @drawable/ic_jw_close

Style: JWIcon.VastClose

Colors:
  • @color/jw_icons_active
  • @color/jw_icons_tint
Size: @dimen/jw_icon
Picture-in-PicturePiP icon, tapping it puts the player/activity in PiP modeResource: @drawable/ic_jw_pip

Style: JWIcon.VastPip

Colors:
  • @color/jw_icons_active
  • @color/jw_icons_tint
Size: @dimen/jw_icon
PlayPlay icon, tapping it resumes the adResource: @drawable/ic_jw_play

Style: JWIcon.VastPlay

Colors:
  • @color/jw_icons_active
  • @color/jw_icons_tint
Size: @dimen/jw_large_icon
PausePause icon, tapping it pauses the adResource: @drawable/ic_jw_pause

Style: JWIcon.VastPlay

Color:
  • @color/jw_icons_active
  • @color/jw_icons_tint
Size: @dimen/jw_large_icon
Learn MoreLearn MoreLearn More button, tapping it redirects the user to the ad's clickthrough URLResource:@string/jwplayer_learn_more
Style:JWText.VastLearnMore
Color:@color/jw_labels_primary
Size:@dimen/jw_text_large
Ad message, configurable via the string resourcesResources:
  • @string/jwplayer_advertising_ad_x_of_y
  • @string/jwplayer_advertising_remaining_time
Style: JWText.VastAdMessage

Color: @color/jw_labels_primary

Size: @dimen/jw_text_small
Ad progressResource:@drawable/jw_vast_seek_progress_drawable
Style:VastProgress
Color:@color/jw_vast_progress
Size:@dimen/jw_seekbar_thickness
Progressbar backgroundResource:@drawable/jw_vast_seek_progress_drawable
Style:VastProgress
Color:@color/jw_seekbar_background
Size:@dimen/jw_seekbar_thickness
SkipSkip buttonResources:
  • @drawable/bg_jw_vast_skip
  • @drawable/ic_jw_skip
Style: JWText.VastSkip

Colors:
  • @color/jw_surface_secondary_non_opaque
  • @color/jw_icons_active
  • @color/jw_labels_primary
Size: @dimen/jw_text_small
Fullscreen (Enter)Enter fullscreen icon, shown when the player is not in fullscreen, tapping it enters fullscreenResource: @drawable/ic_jw_enter_fullscreen

Style: JWIcon.VastFullscreen

Colors:
  • @color/jw_icons_active
  • @color/jw_icons_tint
Size: @dimen/jw_icon
Fullscreen (Exit)Exit fullscreen icon, shown when the player is in fullscreen, tapping it exits fullscreenResource: @drawable/ic_jw_exit_fullscreen

Style: JWIcon.VastFullscreen

Colors:
  • @color/jw_icons_active
  • @color/jw_icons_tint
Size: @dimen/jw_icon


Cast Dialog


IconComponentDescriptionCustomization Options
The Cast Dialog backgroundResource:@drawable/bg_jw_cast_disconnect_dialog
Style:JWView.CastDialog
Color:@color/jw_surface_quaternary
Size: N/A
Playing on {device}Indicates which device you are currently casting toResource:@string/jwplayer_cast_playing_on
Style:JWText.CastDialogDevice
Color:@color/jw_labels_primary
Size:@dimen/jw_text_large
CancelCloses the Cast Disconnect DialogResource:@string/jwplayer_cancel
Style:JWText.CastDialogCancel
Color:@color/jw_labels_primary
Size:@dimen/jw_text_large
DisconnectDisconnects from the casting device and resumes playback on the mobile deviceResource:@string/jwplayer_cast_disconnect
Style:JWText.CastDialogDisconnect
Color:@color/jw_labels_primary
Size:@dimen/jw_text_large


Casting Menu

UiGroup.CASTING_MENU
ViewModel: CastingMenuViewModel

CastingMenView

CastingMenuView


IconComponentDescriptionCustomization Options
The menu backgroundResource:@drawable/bg_jw_menu
Style:JWView.Menu.Cast
Colors:@color/jw_surface_secondary
Size: N/A
Title and call to action for the casting menuResource:@string/jwplayer_cast_connect_to_a_device
Style:JWText.CastTitle
Colors:@color/jw_labels_primary
Size:@dimen/jw_text_xlarge
Hint that your mobile device needs to be connected to the same network as the cast deviceResource:@string/jwplayer_cast_use_same_wifi
Style:JWText.CastSubtitle
Colors:@color/jw_labels_secondary
Size:@dimen/jw_text_xsmall
Icon to indicate a cast deviceResource: @drawable/ic_jw_cast_off

Style: JWIcon.CastItem

Colors:
  • @color/jw_icons_active
  • @color/jw_icons_tint
Size: @dimen/jw_icon
Name of the cast deviceResource: N/A
Style:JWText.CastItem
Color:@color/jw_labels_primary
Size:@dimen/jw_text_xlarge
DividerDividerResource: N/A
Style:JWHorizontalDivider.Cast
Colors:@color/jw_separator_non_opaque
Size: N/A
Close buttonResource:@string/jwplayer_close
Style:JWText.CastClose
Colors:@color/jw_labels_primary
Sizes:
  • @dimen/jw_text_xlarge
  • @dimen/jw_icon


Center Controls

UiGroup.CENTER_CONTROLS
ViewModel: N/A

The primary playback controls displayed in the center of the player.

Center Controls view

CenterControls view


IconComponentDescriptionCustomization Options
Center Controls BackgroundCenterControls backgroundResource:@drawable/bg_jw_center_controls
Style:JWView.CenterControls
Colors:@color/jw_controls_overlay
Size: N/A
Close

Shown when player is in fullscreen mode



Clicking this icon exits fullscreen mode.

Resource: @drawable/ic_jw_close

Style: JWIcon.CenterControlsClose

Colors:
  • @color/jw_icons_active
  • @color/jw_icons_tint
Size: @dimen/jw_icon
TitleDisplays the title of the current playlist itemResource: N/A
Style:JWText.CenterControlsTitle
Color:@color/jw_labels_primary
Size: N/A
DescriptionDisplays the description of the current playlist itemResource: N/A
Style:JWText.CenterControlsDescription
Color:@color/jw_labels_primary
Size: N/A
Connecting to {device}Heads-up display (HUD) shown when the player attempts to connect to the device

The following settings define the background.



Resource: @drawable/bg_jw_cast_connecting

Style: JWContainer.CenterControlsCastIndicator

Color: @color/jw_fill_primary

Size: N/A

The following settings define the text (string).



Resource: @string/jwplayer_cast_connecting_to

Style: JWText.CenterControlsCastStatus

Colors: @color/jw_labels_primary

Size: N/A

Playing on {device}Heads-up display (HUD) shown when the player is casting to the device

The following settings define the background.



Resource: @drawable/bg_jw_cast_ready

Style: JWContainer.CenterControlsCastIndicator

Color: @color/jw_labels_primary

Size: N/A

The following settings define the text (string).



Resource: @string/jwplayer_cast_playing_on

Style: JWText.CenterControlsCastStatus

Colors: @color/jw_surface_secondary

Size: N/A

Unable to connect to {device}Heads-up display (HUD) shown when the player cannot connect to the device

The following settings define the background.



Resource: @drawable/bg_jw_cast_ready

Style: JWContainer.CenterControlsCastIndicator

Color: @color/jw_labels_primary

Size: N/A

The following settings define the text (string).



Resource: @string/jwplayer_cast_unable_to_connect_to

Style: JWText.CenterControlsCastStatus

Colors: @color/jw_surface_secondary

Size: N/A

Picture-in-PictureShown when the system supports picture-in-picture (PiP)Resource: @drawable/ic_jw_pip

Style: JWIcon.CenterControlsPip

Colors:
  • @color/jw_icons_active
  • @color/jw_icons_tint
Size: @dimen/jw_icon
RewindRewinds 15 seconds when tappedResource: @drawable/ic_jw_rewind_15

Style: JWIcon.CenterControlsRewind

Colors:
  • @color/jw_icons_active
  • @color/jw_icons_inactive
  • @color/jw_icons_tint
Size: @dimen/jw_large_icon
PlayDisplays when the player is paused or idleResource: @drawable/ic_jw_play

Style: JWIcon.CenterControlsPlay

Colors:
  • @color/jw_icons_active
  • @color/jw_icons_tint
Size: @dimen/jw_large_icon
PauseDisplays during active playbackResource: @drawable/ic_jw_pause

Style: JWIcon.CenterControlsPause

Colors:
  • @color/jw_icons_active
  • @color/jw_icons_tint
Size: @dimen/jw_large_icon
ReplayDisplays after playback has completedResource: @drawable/ic_jw_replay

Style: JWIcon.CenterControlsRepeat

Colors:
  • @color/jw_icons_active
  • @color/jw_icons_tint
Size: @dimen/jw_large_icon
Buffer SpinnerDisplays during content bufferingResource: @drawable/ic_jw_buffer

Style: JWIcon.CenterControlsBuffer

Colors:
  • @color/jw_buffer_start
  • @color/jw_buffer_end
Size: @dimen/jw_large_icon
ForwardAdvances 15 seconds when tappedResource: @drawable/ic_jw_fast_forward_15

Style: JWIcon.CenterControlsForward

Colors:
  • @color/jw_icons_active
  • @color/jw_icons_inactive
  • @color/jw_icons_tint
Size: @dimen/jw_large_icon
NextAdvances to next playlist itemResource: @drawable/ic_jw_next

Style: JWIcon.CenterControlsNext

Colors:
  • @color/jw_icons_active
  • @color/jw_icons_inactive
  • @color/jw_icons_tint
Size: @dimen/jw_large_icon
Fullscreen (Enter)Displays when the player is not in fullscreenResources: @drawable/ic_jw_enter_fullscreen

Style: JWIcon.CenterControlsFullscreen

Colors:
  • @color/jw_icons_active
  • @color/jw_icons_tint
Size: @dimen/jw_icon
Fullscreen (Exit)Displays when the player is in fullscreenResources: @drawable/ic_jw_exit_fullscreen

Style: JWIcon.CenterControlsFullscreen

Colors:
  • @color/jw_icons_active
  • @color/jw_icons_tint
Size: @dimen/jw_icon


Chapters

UiGroup.CHAPTERS
ViewModel: ChaptersViewModel

ChaptersView

ChaptersView


IconComponentDescriptionCustomization Options
The menu backgroundResource:@drawable/bg_jw_menu
Style:JWView.Menu.Chapters
Color:@color/jw_surface_secondary
Size: N/A
Chapter ThumbnailThe thumbnail of the chapter. Derived from the chapters VTT fileResource: N/A

Styles:
  • JWImage.ChaptersItemPoster
  • JWRoundedImageView.Chapters
Color: N/A

Size: @dimen/jw_icon
Chapter TitleName of the chapterResource: N/A
Style:JWText.ChaptersItemTitle
Color:@color/jw_labels_primary
Size:@dimen/jw_text_xlarge
Chapter StartTime the chapter beginsResource: N/A
Style:JWText.ChaptersItemPosition
Color:@color/jw_labels_secondary
Size:@dimen/jw_text_xxlarge
DividerDivider meant to divide the list from the close buttonResource: N/A
Style:JWHorizontalDivider.Chapters
Color:@color/jw_separator_non_opaque
Size: N/A
CloseClose buttonResource:@string/jwplayer_close
Style:JWText.ChaptersClose
Color:@color/jw_labels_primary
Sizes:
  • @dimen/jw_text_xlarge
  • @dimen/jw_icon


Control Bar

UiGroup.CONTROLBAR
ViewModel: ControlbarViewModel

The bottom control interface containing advanced playback options.

Control Bar View

ControlbarView

IconComponentDescriptionCustomization Options
Control Bar BackgroundControlbar backgroundResource: @drawable/bg_jw_controlbar_contrast_gradient

Style: JWView.Controlbar

Colors:
  • @color/jw_transparent
  • @color/jw_controlbar_gradient_dark
Size: N/A
Playback SpeedDisplays when content playback speed is not 1xResource:@drawable/bg_jw_controlbar_rates
Style:JWText.ControlbarRate
Color:@color/jw_fill_primary
Size:
  • @dimen/jw_icon
  • @dimen/jw_text_medium
Current playback position timestampResource: N/A
Style:JWText.ControlbarPosition
Color:@color/jw_labels_primary
Size:@dimen/jw_text_medium
Separator between position and durationResource:@string/jwplayer_control_bar_timer_delimiter
Style:JWText.ControlbarPositionDivider
Color:@color/jw_surface_secondary
Size:@dimen/jw_text_medium
Current video's durationResource: N/A
Style:JWText.ControlbarDuration
Color:@color/jw_labels_secondary
Size:@dimen/jw_text_medium
Separator between duration and chapterResource:@string/jwplayer_dot_separator
Style:JWText.ControlbarChaptersDivider
Color:@color/jw_surface_secondary
Size:@dimen/jw_text_medium
Name of the current chapter. Tapping on this will open the Chapters menuResource: N/A
Style:JWText.ControlbarChaptersTitle
Color:@color/jw_labels_primary
Size:@dimen/jw_text_medium
Indicator to show that more chapters existResource:@string/jwplayer_arrow_indicator
Style:JWText.ControlbarChaptersIndicator
Color:@color/jw_labels_secondary
Size:@dimen/jw_text_medium
Captions (Off)Closed captions toggle. Tapping this will toggle captions if only one track exists or open the captions menu if more exist. This icon indicates that the captions are offResource: @drawable/ic_jw_captions_off

Style: JWIcon.ControlbarCaptions

Colors:
  • @color/jw_icons_active
  • @color/jw_icons_inactive
  • @color/jw_icons_tint
Size: @dimen/jw_icon
Captions (On)This icon indicates that the captions are onResource: @drawable/ic_jw_captions_on

Style: JWIcon.ControlbarCaptions

Colors:
  • @color/jw_icons_active
  • @color/jw_icons_inactive
  • @color/jw_icons_tint
Size: @dimen/jw_icon
More VideosTapping this opens the playlist viewResource: @drawable/ic_jw_more_videos

Style: JWIcon.ControlbarPlaylist

Color:
  • @color/jw_icons_active
  • @color/jw_icons_inactive
  • @color/jw_icons_tint
Size: @dimen/jw_icon
Fullscreen (Enter)Enter fullscreen icon, tapping this puts the player in fullscreenResources: @drawable/ic_jw_enter_fullscreen

Style: JWIcon.ControlbarFullscreen

Colors:
  • @color/jw_icons_active
  • @color/jw_icons_inactive
  • @color/jw_icons_tint
Size: @dimen/jw_icon
Fullscreen (Exit)Exit fullscreen icon, tapping this takes the player out of fullscreenResources: @drawable/ic_jw_exit_fullscreen

Style: JWIcon.ControlbarFullscreen

Colors:
  • @color/jw_icons_active
  • @color/jw_icons_inactive
  • @color/jw_icons_tint
Size: @dimen/jw_icon
SettingsSettings icon, tapping this opens the settings menuResource: @drawable/ic_jw_settings

Style: JWIcon.ControlbarMenu

Colors:
  • @color/jw_icons_active
  • @color/jw_icons_inactive
  • @color/jw_icons_tint
Size: @dimen/jw_icon
LiveLive IndicatorResource:@string/jwplayer_live_broadcast
Style:JWRadio.ControlbarLive
Color:@color/jw_labels_primary
Size:@dimen/jw_text_xsmall
Resource: @drawable/jw_controlbar_live_button

Style: JWRadio.ControlbarLive

Colors:
  • @color/jw_live_indicator_checked
  • @color/jw_live_indicator_unchecked
Size: N/A
The current progress of the seekbarResource: N/A
Style:JWControlbarSeek
Color:@color/jw_seekbar_progress
Size:@dimen/jw_seekbar_thickness
Marker signifying an ad was scheduled in the timelineResource: N/A
Style:JWControlbarSeek
Color:@color/jw_seekbar_ads_marker
Size:
  • @dimen/jw_seekbar_ad_width
  • @dimen/jw_seekbar_thickness
Marker signifying a chapter beginsResource: N/A
Style:JWControlbarSeek
Color:@color/jw_seekbar_chapter_marker
Size:
  • @dimen/jw_seekbar_chapter_width
  • @dimen/jw_seekbar_thickness
Highlights the timeline between the start of the current chapter and the start of the nextResource: N/A
Style:JWControlbarSeek
Colors:@color/jw_seekbar_chapter_highlight
Size:@dimen/jw_seekbar_thickness
The seekbar thumbResource:@drawable/jw_controlbar_seek_thumb
Style:JWControlbarSeek
Color:@color/jw_seekbar_thumb
Size:@dimen/jw_seekbar_thumb
The seekbar secondary progress, this indicates the amount of buffered videoResource: N/A
Style:JWControlbarSeek
Color:@color/jw_seekbar_secondary_progress
Size:@dimen/jw_seekbar_thickness
The seekbar background, this indicates the size of the seekbarResource: N/A
Style:JWControlbarSeek
Colors:@color/jw_seekbar_background
Size:@dimen/jw_seekbar_thickness
Thumbnail preview, updates the bitmap based on the position you are scrubbing.Resources: N/A

Style:
  • JWImage.ControlbarThumbnailPreview
  • JWRoundedImageView.ThumbnailPreview
Colors: @color/jw_fill_primary

Size: N/A
The position you are scrubbing toResource: N/A
Style:JWText.ControlbarThumbnailTimestamp
Colors:@color/jw_labels_primary
Size:@dimen/jw_text_medium
The chapter you are scrubbing toResource: N/A
Style:JWText.ControlbarThumbnailChapter
Colors:@color/jw_labels_primary
Size:@dimen/jw_text_medium


Error Overlay

UiGroup.ERROR
ViewModel: ErrorViewModel

Error overlay displaying a playback error.

ErrorView

ErrorView

IconComponentDescriptionCustomization Options
Error BackgroundError overlay backgroundResource:@drawable/bg_jw_error
Style:JWContainer.Error
Colors: @color/jw_surface_primary
Size: N/A
ErrorError indicatorResource: @drawable/ic_jw_play
Style:JWImage.ErrorIcon
Colors:@color/jw_icons_active
Size:@dimen/jw_large_icon
Error MessageError messageResource: N/A
Style:JWText.ErrorMessage
Color:@color/jw_labels_primary
Size:@dimen/jw_text_medium
Error CodeError CodeResource: N/A
Style:JWText.ErrorCode
Color:@color/jw_labels_secondary
Size:@dimen/jw_text_xxsmall


Menu

UIGroup.SETTINGS_MENU
ViewModel: SettingsMenuViewModel

MenuView

MenuView

IconComponentDescriptionCustomization Options
The menu backgroundResource:@drawable/bg_jw_menu
Style:JWView.Menu.Settings
Colors:@color/jw_surface_secondary
Size: N/A
Audio & SubtitlesIcon for alternate audio and captions. Tapping this takes you to the Audio & Subtitles submenuResource: @drawable/ic_jw_captions_off

Style: JWIcon.MenuOption

Colors:
  • @color/jw_icons_active
  • @color/jw_icons_tint
Size: N/A
Audio & SubtitlesLabel for the Audio & Subtitles submenuResource:@string/jwplayer_audio_and_subtitles
Style:JWText.MenuOptionLabel
Color: N/A
Size:@dimen/jw_text_xlarg
Icon for playback speed. Tapping this takes you to the Playback speed submenuResource: @drawable/ic_jw_play

Style: JWIcon.MenuOption

Colors:
  • @color/jw_icons_active
  • @color/jw_icons_tint
Size: N/A
Label for the Playback Speed submenuResource:@string/jwplayer_playback_rates
Style:JWText.MenuOptionLabel
Color:@color/jw_labels_primary
Size:@dimen/jw_text_xlarge
Indicator showing the current Playback SpeedResource: N/A
Style:JWText.MenuOptionValue
Color:@color/jw_labels_secondary
Size:@dimen/jw_text_xlarge
QualityIcon for video quality. Tapping this takes you to the qualities submenuResource: @drawable/ic_jw_quality_100

Style: JWIcon.MenuOption

Colors:
  • @color/jw_icons_active
  • @color/jw_icons_tint
Size: N/A
Label for the Quality submenuResource:@string/jwplayer_quality
Style:JWText.MenuOptionLabel
Color:@color/jw_labels_primary
Size:@dimen/jw_text_xlarge
Indicator showing the current QualityResource: N/A
Style:JWText.MenuOptionValue
Color: @color/jw_labels_secondary
Size:@dimen/jw_text_xlarge
DividerDivider meant to divide the list from the close buttonResource: N/A
Style:JWHorizontalDivider.Menu
Colors:@color/jw_separator_non_opaque
Size: N/A
CloseClose buttonResource:@string/jwplayer_close
Style:JWText.MenuClose
Color:@color/jw_labels_primary
Sizes:
  • @dimen/jw_text_xlarge
  • @dimen/jw_icon


Next Up

UiGroup.NEXT_UP
ViewModel: NextUpViewModel

NextUpView

NextUpView

IconComponentDescriptionCustomization Options
The NextUp backgroundResource:@drawable/bg_jw_next_up
Style:JWView.NextUp
Color:@color/jw_surface_secondary
Size:@dimen/jw_nextup_view_height
Poster image for the next up playlist item as defined by the metadata provided to the player.Resource: N/A
Style:JWImage.NextUpPoster
Color:@color/jw_fill_primary
Size: N/A
Countdown indicating that the next video is about to beginResource:@string/jwplayer_next_up_countdown
Style:JWText.NextUpCountdown
Color:@color/jw_labels_primary
Size: N/A
The title of the next playlist item as defined by the metadata provided to the playerResource: N/A
Style:JWText.NextUpTitle
Color:@color/jw_labels_primary
Size: N/A
CloseDismiss button, dismisses the next up promptResources:
  • @drawable/ic_jw_close
  • @drawable/bg_jw_nextup_close
Style: JWIcon.NextUpClose

Colors:
  • @color/jw_icons_active
  • @color/jw_icons_tint
  • @color/jw_fill_quaternary
Size: N/A

Did this page help you?
© 2007- Longtail Ad Solutions, Inc.