Package com.google.android.exoplayer2.ui
Class DefaultTimeBar
- java.lang.Object
-
- android.view.View
-
- com.google.android.exoplayer2.ui.DefaultTimeBar
-
- All Implemented Interfaces:
Drawable.Callback
,AccessibilityEventSource
,KeyEvent.Callback
,TimeBar
public class DefaultTimeBar extends View implements TimeBar
A time bar that shows a current position, buffered position, duration and ad markers.A DefaultTimeBar can be customized by setting attributes, as outlined below.
Attributes
The following attributes can be set on a DefaultTimeBar when used in a layout XML file:bar_height
- Dimension for the height of the time bar.- Default:
DEFAULT_BAR_HEIGHT_DP
- Default:
touch_target_height
- Dimension for the height of the area in which touch interactions with the time bar are handled. If no height is specified, this also determines the height of the view.- Default:
DEFAULT_TOUCH_TARGET_HEIGHT_DP
- Default:
ad_marker_width
- Dimension for the width of any ad markers shown on the bar. Ad markers are superimposed on the time bar to show the times at which ads will play.- Default:
DEFAULT_AD_MARKER_WIDTH_DP
- Default:
scrubber_enabled_size
- Dimension for the diameter of the circular scrubber handle when scrubbing is enabled but not in progress. Set to zero if no scrubber handle should be shown.- Default:
DEFAULT_SCRUBBER_ENABLED_SIZE_DP
- Default:
scrubber_disabled_size
- Dimension for the diameter of the circular scrubber handle when scrubbing isn't enabled. Set to zero if no scrubber handle should be shown.- Default:
DEFAULT_SCRUBBER_DISABLED_SIZE_DP
- Default:
scrubber_dragged_size
- Dimension for the diameter of the circular scrubber handle when scrubbing is in progress. Set to zero if no scrubber handle should be shown.- Default:
DEFAULT_SCRUBBER_DRAGGED_SIZE_DP
- Default:
scrubber_drawable
- Optional reference to a drawable to draw for the scrubber handle. If set, this overrides the default behavior, which is to draw a circle for the scrubber handle.played_color
- Color for the portion of the time bar representing media before the current playback position.- Corresponding method:
setPlayedColor(int)
- Default:
DEFAULT_PLAYED_COLOR
- Corresponding method:
scrubber_color
- Color for the scrubber handle.- Corresponding method:
setScrubberColor(int)
- Default:
DEFAULT_SCRUBBER_COLOR
- Corresponding method:
buffered_color
- Color for the portion of the time bar after the current played position up to the current buffered position.- Corresponding method:
setBufferedColor(int)
- Default:
DEFAULT_BUFFERED_COLOR
- Corresponding method:
unplayed_color
- Color for the portion of the time bar after the current buffered position.- Corresponding method:
setUnplayedColor(int)
- Default:
DEFAULT_UNPLAYED_COLOR
- Corresponding method:
ad_marker_color
- Color for unplayed ad markers.- Corresponding method:
setAdMarkerColor(int)
- Default:
DEFAULT_AD_MARKER_COLOR
- Corresponding method:
played_ad_marker_color
- Color for played ad markers.- Corresponding method:
setPlayedAdMarkerColor(int)
- Default:
DEFAULT_PLAYED_AD_MARKER_COLOR
- Corresponding method:
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class android.view.View
View.AccessibilityDelegate, View.BaseSavedState, View.DragShadowBuilder, View.MeasureSpec, View.OnApplyWindowInsetsListener, View.OnAttachStateChangeListener, View.OnCapturedPointerListener, View.OnClickListener, View.OnContextClickListener, View.OnCreateContextMenuListener, View.OnDragListener, View.OnFocusChangeListener, View.OnGenericMotionListener, View.OnHoverListener, View.OnKeyListener, View.OnLayoutChangeListener, View.OnLongClickListener, View.OnScrollChangeListener, View.OnSystemUiVisibilityChangeListener, View.OnTouchListener, View.OnUnhandledKeyEventListener
-
Nested classes/interfaces inherited from interface com.google.android.exoplayer2.ui.TimeBar
TimeBar.OnScrubListener
-
-
Field Summary
Fields Modifier and Type Field Description static int
BAR_GRAVITY_BOTTOM
Vertical gravity for progress bar to be located at the bottom in the view.static int
BAR_GRAVITY_CENTER
Vertical gravity for progress bar to be located at the center in the view.static int
DEFAULT_AD_MARKER_COLOR
Default color for ad markers.static int
DEFAULT_AD_MARKER_WIDTH_DP
Default width for ad markers, in dp.static int
DEFAULT_BAR_HEIGHT_DP
Default height for the time bar, in dp.static int
DEFAULT_BUFFERED_COLOR
Default color for the buffered portion of the time bar.static int
DEFAULT_PLAYED_AD_MARKER_COLOR
Default color for played ad markers.static int
DEFAULT_PLAYED_COLOR
Default color for the played portion of the time bar.static int
DEFAULT_SCRUBBER_COLOR
Default color for the scrubber handle.static int
DEFAULT_SCRUBBER_DISABLED_SIZE_DP
Default diameter for the scrubber when disabled, in dp.static int
DEFAULT_SCRUBBER_DRAGGED_SIZE_DP
Default diameter for the scrubber when dragged, in dp.static int
DEFAULT_SCRUBBER_ENABLED_SIZE_DP
Default diameter for the scrubber when enabled, in dp.static int
DEFAULT_TOUCH_TARGET_HEIGHT_DP
Default height for the touch target, in dp.static int
DEFAULT_UNPLAYED_COLOR
Default color for the unplayed portion of the time bar.-
Fields inherited from class android.view.View
ACCESSIBILITY_LIVE_REGION_ASSERTIVE, ACCESSIBILITY_LIVE_REGION_NONE, ACCESSIBILITY_LIVE_REGION_POLITE, ALPHA, AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR, AUTOFILL_HINT_CREDIT_CARD_NUMBER, AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE, AUTOFILL_HINT_EMAIL_ADDRESS, AUTOFILL_HINT_NAME, AUTOFILL_HINT_PASSWORD, AUTOFILL_HINT_PHONE, AUTOFILL_HINT_POSTAL_ADDRESS, AUTOFILL_HINT_POSTAL_CODE, AUTOFILL_HINT_USERNAME, AUTOFILL_TYPE_DATE, AUTOFILL_TYPE_LIST, AUTOFILL_TYPE_NONE, AUTOFILL_TYPE_TEXT, AUTOFILL_TYPE_TOGGLE, DRAG_FLAG_GLOBAL, DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION, DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION, DRAG_FLAG_GLOBAL_URI_READ, DRAG_FLAG_GLOBAL_URI_WRITE, DRAG_FLAG_OPAQUE, DRAWING_CACHE_QUALITY_AUTO, DRAWING_CACHE_QUALITY_HIGH, DRAWING_CACHE_QUALITY_LOW, EMPTY_STATE_SET, ENABLED_FOCUSED_SELECTED_STATE_SET, ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, ENABLED_FOCUSED_STATE_SET, ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET, ENABLED_SELECTED_STATE_SET, ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET, ENABLED_STATE_SET, ENABLED_WINDOW_FOCUSED_STATE_SET, FIND_VIEWS_WITH_CONTENT_DESCRIPTION, FIND_VIEWS_WITH_TEXT, FOCUS_BACKWARD, FOCUS_DOWN, FOCUS_FORWARD, FOCUS_LEFT, FOCUS_RIGHT, FOCUS_UP, FOCUSABLE, FOCUSABLE_AUTO, FOCUSABLES_ALL, FOCUSABLES_TOUCH_MODE, FOCUSED_SELECTED_STATE_SET, FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, FOCUSED_STATE_SET, FOCUSED_WINDOW_FOCUSED_STATE_SET, GONE, HAPTIC_FEEDBACK_ENABLED, IMPORTANT_FOR_ACCESSIBILITY_AUTO, IMPORTANT_FOR_ACCESSIBILITY_NO, IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS, IMPORTANT_FOR_ACCESSIBILITY_YES, IMPORTANT_FOR_AUTOFILL_AUTO, IMPORTANT_FOR_AUTOFILL_NO, IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_AUTOFILL_YES, IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_CONTENT_CAPTURE_AUTO, IMPORTANT_FOR_CONTENT_CAPTURE_NO, IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_CONTENT_CAPTURE_YES, IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS, INVISIBLE, KEEP_SCREEN_ON, LAYER_TYPE_HARDWARE, LAYER_TYPE_NONE, LAYER_TYPE_SOFTWARE, LAYOUT_DIRECTION_INHERIT, LAYOUT_DIRECTION_LOCALE, LAYOUT_DIRECTION_LTR, LAYOUT_DIRECTION_RTL, MEASURED_HEIGHT_STATE_SHIFT, MEASURED_SIZE_MASK, MEASURED_STATE_MASK, MEASURED_STATE_TOO_SMALL, NO_ID, NOT_FOCUSABLE, OVER_SCROLL_ALWAYS, OVER_SCROLL_IF_CONTENT_SCROLLS, OVER_SCROLL_NEVER, PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET, PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_FOCUSED_STATE_SET, PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_SELECTED_STATE_SET, PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_STATE_SET, PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET, PRESSED_FOCUSED_SELECTED_STATE_SET, PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_FOCUSED_STATE_SET, PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET, PRESSED_SELECTED_STATE_SET, PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_STATE_SET, PRESSED_WINDOW_FOCUSED_STATE_SET, ROTATION, ROTATION_X, ROTATION_Y, SCALE_X, SCALE_Y, SCREEN_STATE_OFF, SCREEN_STATE_ON, SCROLL_AXIS_HORIZONTAL, SCROLL_AXIS_NONE, SCROLL_AXIS_VERTICAL, SCROLL_CAPTURE_HINT_AUTO, SCROLL_CAPTURE_HINT_EXCLUDE, SCROLL_CAPTURE_HINT_EXCLUDE_DESCENDANTS, SCROLL_CAPTURE_HINT_INCLUDE, SCROLL_INDICATOR_BOTTOM, SCROLL_INDICATOR_END, SCROLL_INDICATOR_LEFT, SCROLL_INDICATOR_RIGHT, SCROLL_INDICATOR_START, SCROLL_INDICATOR_TOP, SCROLLBAR_POSITION_DEFAULT, SCROLLBAR_POSITION_LEFT, SCROLLBAR_POSITION_RIGHT, SCROLLBARS_INSIDE_INSET, SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_OUTSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY, SELECTED_STATE_SET, SELECTED_WINDOW_FOCUSED_STATE_SET, SOUND_EFFECTS_ENABLED, STATUS_BAR_HIDDEN, STATUS_BAR_VISIBLE, SYSTEM_UI_FLAG_FULLSCREEN, SYSTEM_UI_FLAG_HIDE_NAVIGATION, SYSTEM_UI_FLAG_IMMERSIVE, SYSTEM_UI_FLAG_IMMERSIVE_STICKY, SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN, SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, SYSTEM_UI_FLAG_LAYOUT_STABLE, SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR, SYSTEM_UI_FLAG_LIGHT_STATUS_BAR, SYSTEM_UI_FLAG_LOW_PROFILE, SYSTEM_UI_FLAG_VISIBLE, SYSTEM_UI_LAYOUT_FLAGS, TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_GRAVITY, TEXT_ALIGNMENT_INHERIT, TEXT_ALIGNMENT_TEXT_END, TEXT_ALIGNMENT_TEXT_START, TEXT_ALIGNMENT_VIEW_END, TEXT_ALIGNMENT_VIEW_START, TEXT_DIRECTION_ANY_RTL, TEXT_DIRECTION_FIRST_STRONG, TEXT_DIRECTION_FIRST_STRONG_LTR, TEXT_DIRECTION_FIRST_STRONG_RTL, TEXT_DIRECTION_INHERIT, TEXT_DIRECTION_LOCALE, TEXT_DIRECTION_LTR, TEXT_DIRECTION_RTL, TRANSLATION_X, TRANSLATION_Y, TRANSLATION_Z, VIEW_LOG_TAG, VISIBLE, WINDOW_FOCUSED_STATE_SET, X, Y, Z
-
-
Constructor Summary
Constructors Constructor Description DefaultTimeBar(Context context)
DefaultTimeBar(Context context, AttributeSet attrs)
DefaultTimeBar(Context context, AttributeSet attrs, int defStyleAttr)
DefaultTimeBar(Context context, AttributeSet attrs, int defStyleAttr, AttributeSet timebarAttrs)
DefaultTimeBar(Context context, AttributeSet attrs, int defStyleAttr, AttributeSet timebarAttrs, int defStyleRes)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addListener(TimeBar.OnScrubListener listener)
Adds a listener for scrubbing events.protected void
drawableStateChanged()
long
getPreferredUpdateDelay()
Returns the preferred delay in milliseconds of media time after which the time bar position should be updated.void
hideScrubber(boolean disableScrubberPadding)
Hides the scrubber handle.void
hideScrubber(long hideAnimationDurationMs)
Hides the scrubber handle with animation.void
jumpDrawablesToCurrentState()
void
onDraw(Canvas canvas)
protected void
onFocusChanged(boolean gainFocus, int direction, Rect previouslyFocusedRect)
void
onInitializeAccessibilityEvent(AccessibilityEvent event)
void
onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info)
boolean
onKeyDown(int keyCode, KeyEvent event)
protected void
onLayout(boolean changed, int left, int top, int right, int bottom)
protected void
onMeasure(int widthMeasureSpec, int heightMeasureSpec)
void
onRtlPropertiesChanged(int layoutDirection)
boolean
onTouchEvent(MotionEvent event)
boolean
performAccessibilityAction(int action, Bundle args)
void
removeListener(TimeBar.OnScrubListener listener)
Removes a listener for scrubbing events.void
setAdGroupTimesMs(long[] adGroupTimesMs, boolean[] playedAdGroups, int adGroupCount)
Sets the times of ad groups and whether each ad group has been played.void
setAdMarkerColor(int adMarkerColor)
Sets the color for unplayed ad markers.void
setBufferedColor(int bufferedColor)
Sets the color for the portion of the time bar after the current played position up to the current buffered position.void
setBufferedPosition(long bufferedPosition)
Sets the buffered position.void
setDuration(long duration)
Sets the duration.void
setEnabled(boolean enabled)
void
setKeyCountIncrement(int count)
Sets the position increment for key presses and accessibility actions, as a number of increments that divide the duration of the media.void
setKeyTimeIncrement(long time)
Sets the position increment for key presses and accessibility actions, in milliseconds.void
setPlayedAdMarkerColor(int playedAdMarkerColor)
Sets the color for played ad markers.void
setPlayedColor(int playedColor)
Sets the color for the portion of the time bar representing media before the playback position.void
setPosition(long position)
Sets the current position.void
setScrubberColor(int scrubberColor)
Sets the color for the scrubber handle.void
setUnplayedColor(int unplayedColor)
Sets the color for the portion of the time bar after the current played position.void
showScrubber()
Shows the scrubber handle.void
showScrubber(long showAnimationDurationMs)
Shows the scrubber handle with animation.-
Methods inherited from class android.view.View
addChildrenForAccessibility, addExtraDataToAccessibilityNodeInfo, addFocusables, addFocusables, addKeyboardNavigationClusters, addOnAttachStateChangeListener, addOnLayoutChangeListener, addOnUnhandledKeyEventListener, addTouchables, animate, announceForAccessibility, autofill, autofill, awakenScrollBars, awakenScrollBars, awakenScrollBars, bringToFront, buildDrawingCache, buildDrawingCache, buildLayer, callOnClick, cancelDragAndDrop, cancelLongPress, cancelPendingInputEvents, canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, canScrollHorizontally, canScrollVertically, checkInputConnectionProxy, clearAnimation, clearFocus, clearViewTranslationCallback, combineMeasuredStates, computeHorizontalScrollExtent, computeHorizontalScrollOffset, computeHorizontalScrollRange, computeScroll, computeSystemWindowInsets, computeVerticalScrollExtent, computeVerticalScrollOffset, computeVerticalScrollRange, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchApplyWindowInsets, dispatchCapturedPointerEvent, dispatchConfigurationChanged, dispatchCreateViewTranslationRequest, dispatchDisplayHint, dispatchDragEvent, dispatchDraw, dispatchDrawableHotspotChanged, dispatchFinishTemporaryDetach, dispatchGenericFocusedEvent, dispatchGenericMotionEvent, dispatchGenericPointerEvent, dispatchHoverEvent, dispatchKeyEvent, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchNestedFling, dispatchNestedPreFling, dispatchNestedPrePerformAccessibilityAction, dispatchNestedPreScroll, dispatchNestedScroll, dispatchPointerCaptureChanged, dispatchPopulateAccessibilityEvent, dispatchProvideAutofillStructure, dispatchProvideStructure, dispatchRestoreInstanceState, dispatchSaveInstanceState, dispatchScrollCaptureSearch, dispatchSetActivated, dispatchSetPressed, dispatchSetSelected, dispatchStartTemporaryDetach, dispatchSystemUiVisibilityChanged, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchVisibilityChanged, dispatchWindowFocusChanged, dispatchWindowInsetsAnimationEnd, dispatchWindowInsetsAnimationPrepare, dispatchWindowInsetsAnimationProgress, dispatchWindowInsetsAnimationStart, dispatchWindowSystemUiVisiblityChanged, dispatchWindowVisibilityChanged, draw, drawableHotspotChanged, findFocus, findViewById, findViewsWithText, findViewWithTag, fitSystemWindows, focusSearch, forceHasOverlappingRendering, forceLayout, gatherTransparentRegion, generateDisplayHash, generateViewId, getAccessibilityClassName, getAccessibilityDelegate, getAccessibilityLiveRegion, getAccessibilityNodeProvider, getAccessibilityPaneTitle, getAccessibilityTraversalAfter, getAccessibilityTraversalBefore, getAlpha, getAnimation, getAnimationMatrix, getApplicationWindowToken, getAttributeResolutionStack, getAttributeSourceResourceMap, getAutofillHints, getAutofillId, getAutofillType, getAutofillValue, getBackground, getBackgroundTintBlendMode, getBackgroundTintList, getBackgroundTintMode, getBaseline, getBottom, getBottomFadingEdgeStrength, getBottomPaddingOffset, getCameraDistance, getClipBounds, getClipBounds, getClipToOutline, getContentCaptureSession, getContentDescription, getContext, getContextMenuInfo, getDefaultFocusHighlightEnabled, getDefaultSize, getDisplay, getDrawableState, getDrawingCache, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getElevation, getExplicitStyle, getFilterTouchesWhenObscured, getFitsSystemWindows, getFocusable, getFocusables, getFocusedRect, getForeground, getForegroundGravity, getForegroundTintBlendMode, getForegroundTintList, getForegroundTintMode, getGlobalVisibleRect, getGlobalVisibleRect, getHandler, getHasOverlappingRendering, getHeight, getHitRect, getHorizontalFadingEdgeLength, getHorizontalScrollbarHeight, getHorizontalScrollbarThumbDrawable, getHorizontalScrollbarTrackDrawable, getId, getImportantForAccessibility, getImportantForAutofill, getImportantForContentCapture, getKeepScreenOn, getKeyDispatcherState, getLabelFor, getLayerType, getLayoutDirection, getLayoutParams, getLeft, getLeftFadingEdgeStrength, getLeftPaddingOffset, getLocalVisibleRect, getLocationInSurface, getLocationInWindow, getLocationOnScreen, getMatrix, getMeasuredHeight, getMeasuredHeightAndState, getMeasuredState, getMeasuredWidth, getMeasuredWidthAndState, getMinimumHeight, getMinimumWidth, getNextClusterForwardId, getNextFocusDownId, getNextFocusForwardId, getNextFocusLeftId, getNextFocusRightId, getNextFocusUpId, getOnFocusChangeListener, getOutlineAmbientShadowColor, getOutlineProvider, getOutlineSpotShadowColor, getOverlay, getOverScrollMode, getPaddingBottom, getPaddingEnd, getPaddingLeft, getPaddingRight, getPaddingStart, getPaddingTop, getParent, getParentForAccessibility, getPivotX, getPivotY, getPointerIcon, getReceiveContentMimeTypes, getResources, getRevealOnFocusHint, getRight, getRightFadingEdgeStrength, getRightPaddingOffset, getRootSurfaceControl, getRootView, getRootWindowInsets, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollCaptureHint, getScrollIndicators, getScrollX, getScrollY, getSolidColor, getSourceLayoutResId, getStateDescription, getStateListAnimator, getSuggestedMinimumHeight, getSuggestedMinimumWidth, getSystemGestureExclusionRects, getSystemUiVisibility, getTag, getTag, getTextAlignment, getTextDirection, getTooltipText, getTop, getTopFadingEdgeStrength, getTopPaddingOffset, getTouchables, getTouchDelegate, getTransitionAlpha, getTransitionName, getTranslationX, getTranslationY, getTranslationZ, getUniqueDrawingId, getVerticalFadingEdgeLength, getVerticalScrollbarPosition, getVerticalScrollbarThumbDrawable, getVerticalScrollbarTrackDrawable, getVerticalScrollbarWidth, getViewTranslationResponse, getViewTreeObserver, getVisibility, getWidth, getWindowAttachCount, getWindowId, getWindowInsetsController, getWindowSystemUiVisibility, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, getX, getY, getZ, hasExplicitFocusable, hasFocus, hasFocusable, hasNestedScrollingParent, hasOnClickListeners, hasOnLongClickListeners, hasOverlappingRendering, hasPointerCapture, hasTransientState, hasWindowFocus, inflate, invalidate, invalidate, invalidate, invalidateDrawable, invalidateOutline, isAccessibilityFocused, isAccessibilityHeading, isActivated, isAttachedToWindow, isClickable, isContextClickable, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isFocusedByDefault, isForceDarkAllowed, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isImportantForAccessibility, isImportantForAutofill, isImportantForContentCapture, isInEditMode, isInLayout, isInTouchMode, isKeyboardNavigationCluster, isLaidOut, isLayoutDirectionResolved, isLayoutRequested, isLongClickable, isNestedScrollingEnabled, isOpaque, isPaddingOffsetRequired, isPaddingRelative, isPivotSet, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScreenReaderFocusable, isScrollbarFadingEnabled, isScrollContainer, isSelected, isShowingLayoutBounds, isShown, isSoundEffectsEnabled, isTemporarilyDetached, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, isVisibleToUserForAutofill, keyboardNavigationClusterSearch, layout, measure, mergeDrawableStates, offsetLeftAndRight, offsetTopAndBottom, onAnimationEnd, onAnimationStart, onApplyWindowInsets, onAttachedToWindow, onCancelPendingInputEvents, onCapturedPointerEvent, onCheckIsTextEditor, onConfigurationChanged, onCreateContextMenu, onCreateDrawableState, onCreateInputConnection, onCreateViewTranslationRequest, onCreateVirtualViewTranslationRequests, onDetachedFromWindow, onDisplayHint, onDragEvent, onDrawForeground, onDrawScrollBars, onFilterTouchEventForSecurity, onFinishInflate, onFinishTemporaryDetach, onGenericMotionEvent, onHoverChanged, onHoverEvent, onKeyLongPress, onKeyMultiple, onKeyPreIme, onKeyShortcut, onKeyUp, onOverScrolled, onPointerCaptureChange, onPopulateAccessibilityEvent, onProvideAutofillStructure, onProvideAutofillVirtualStructure, onProvideContentCaptureStructure, onProvideStructure, onProvideVirtualStructure, onReceiveContent, onResolvePointerIcon, onRestoreInstanceState, onSaveInstanceState, onScreenStateChanged, onScrollCaptureSearch, onScrollChanged, onSetAlpha, onSizeChanged, onStartTemporaryDetach, onTrackballEvent, onViewTranslationResponse, onVirtualViewTranslationResponses, onVisibilityAggregated, onVisibilityChanged, onWindowFocusChanged, onWindowSystemUiVisibilityChanged, onWindowVisibilityChanged, overScrollBy, performClick, performContextClick, performContextClick, performHapticFeedback, performHapticFeedback, performLongClick, performLongClick, performReceiveContent, playSoundEffect, post, postDelayed, postInvalidate, postInvalidate, postInvalidateDelayed, postInvalidateDelayed, postInvalidateOnAnimation, postInvalidateOnAnimation, postOnAnimation, postOnAnimationDelayed, refreshDrawableState, releasePointerCapture, removeCallbacks, removeOnAttachStateChangeListener, removeOnLayoutChangeListener, removeOnUnhandledKeyEventListener, requestApplyInsets, requestFitSystemWindows, requestFocus, requestFocus, requestFocus, requestFocusFromTouch, requestLayout, requestPointerCapture, requestRectangleOnScreen, requestRectangleOnScreen, requestUnbufferedDispatch, requestUnbufferedDispatch, requireViewById, resetPivot, resolveSize, resolveSizeAndState, restoreDefaultFocus, restoreHierarchyState, saveAttributeDataForStyleable, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDelegate, setAccessibilityHeading, setAccessibilityLiveRegion, setAccessibilityPaneTitle, setAccessibilityTraversalAfter, setAccessibilityTraversalBefore, setActivated, setAllowClickWhenDisabled, setAlpha, setAnimation, setAnimationMatrix, setAutofillHints, setAutofillId, setBackground, setBackgroundColor, setBackgroundDrawable, setBackgroundResource, setBackgroundTintBlendMode, setBackgroundTintList, setBackgroundTintMode, setBottom, setCameraDistance, setClickable, setClipBounds, setClipToOutline, setContentCaptureSession, setContentDescription, setContextClickable, setDefaultFocusHighlightEnabled, setDrawingCacheBackgroundColor, setDrawingCacheEnabled, setDrawingCacheQuality, setDuplicateParentStateEnabled, setElevation, setFadingEdgeLength, setFilterTouchesWhenObscured, setFitsSystemWindows, setFocusable, setFocusable, setFocusableInTouchMode, setFocusedByDefault, setForceDarkAllowed, setForeground, setForegroundGravity, setForegroundTintBlendMode, setForegroundTintList, setForegroundTintMode, setHapticFeedbackEnabled, setHasTransientState, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHorizontalScrollbarThumbDrawable, setHorizontalScrollbarTrackDrawable, setHovered, setId, setImportantForAccessibility, setImportantForAutofill, setImportantForContentCapture, setKeepScreenOn, setKeyboardNavigationCluster, setLabelFor, setLayerPaint, setLayerType, setLayoutDirection, setLayoutParams, setLeft, setLeftTopRightBottom, setLongClickable, setMeasuredDimension, setMinimumHeight, setMinimumWidth, setNestedScrollingEnabled, setNextClusterForwardId, setNextFocusDownId, setNextFocusForwardId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnApplyWindowInsetsListener, setOnCapturedPointerListener, setOnClickListener, setOnContextClickListener, setOnCreateContextMenuListener, setOnDragListener, setOnFocusChangeListener, setOnGenericMotionListener, setOnHoverListener, setOnKeyListener, setOnLongClickListener, setOnReceiveContentListener, setOnScrollChangeListener, setOnSystemUiVisibilityChangeListener, setOnTouchListener, setOutlineAmbientShadowColor, setOutlineProvider, setOutlineSpotShadowColor, setOverScrollMode, setPadding, setPaddingRelative, setPivotX, setPivotY, setPointerIcon, setPressed, setRenderEffect, setRevealOnFocusHint, setRight, setRotation, setRotationX, setRotationY, setSaveEnabled, setSaveFromParentEnabled, setScaleX, setScaleY, setScreenReaderFocusable, setScrollBarDefaultDelayBeforeFade, setScrollBarFadeDuration, setScrollbarFadingEnabled, setScrollBarSize, setScrollBarStyle, setScrollCaptureCallback, setScrollCaptureHint, setScrollContainer, setScrollIndicators, setScrollIndicators, setScrollX, setScrollY, setSelected, setSoundEffectsEnabled, setStateDescription, setStateListAnimator, setSystemGestureExclusionRects, setSystemUiVisibility, setTag, setTag, setTextAlignment, setTextDirection, setTooltipText, setTop, setTouchDelegate, setTransitionAlpha, setTransitionName, setTransitionVisibility, setTranslationX, setTranslationY, setTranslationZ, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setVerticalScrollbarThumbDrawable, setVerticalScrollbarTrackDrawable, setViewTranslationCallback, setVisibility, setWillNotCacheDrawing, setWillNotDraw, setWindowInsetsAnimationCallback, setX, setY, setZ, showContextMenu, showContextMenu, startActionMode, startActionMode, startAnimation, startDrag, startDragAndDrop, startNestedScroll, stopNestedScroll, toString, transformMatrixToGlobal, transformMatrixToLocal, unscheduleDrawable, unscheduleDrawable, updateDragShadow, verifyDrawable, willNotCacheDrawing, willNotDraw
-
-
-
-
Field Detail
-
DEFAULT_BAR_HEIGHT_DP
public static final int DEFAULT_BAR_HEIGHT_DP
Default height for the time bar, in dp.- See Also:
- Constant Field Values
-
DEFAULT_TOUCH_TARGET_HEIGHT_DP
public static final int DEFAULT_TOUCH_TARGET_HEIGHT_DP
Default height for the touch target, in dp.- See Also:
- Constant Field Values
-
DEFAULT_AD_MARKER_WIDTH_DP
public static final int DEFAULT_AD_MARKER_WIDTH_DP
Default width for ad markers, in dp.- See Also:
- Constant Field Values
-
DEFAULT_SCRUBBER_ENABLED_SIZE_DP
public static final int DEFAULT_SCRUBBER_ENABLED_SIZE_DP
Default diameter for the scrubber when enabled, in dp.- See Also:
- Constant Field Values
-
DEFAULT_SCRUBBER_DISABLED_SIZE_DP
public static final int DEFAULT_SCRUBBER_DISABLED_SIZE_DP
Default diameter for the scrubber when disabled, in dp.- See Also:
- Constant Field Values
-
DEFAULT_SCRUBBER_DRAGGED_SIZE_DP
public static final int DEFAULT_SCRUBBER_DRAGGED_SIZE_DP
Default diameter for the scrubber when dragged, in dp.- See Also:
- Constant Field Values
-
DEFAULT_PLAYED_COLOR
public static final int DEFAULT_PLAYED_COLOR
Default color for the played portion of the time bar.- See Also:
- Constant Field Values
-
DEFAULT_UNPLAYED_COLOR
public static final int DEFAULT_UNPLAYED_COLOR
Default color for the unplayed portion of the time bar.- See Also:
- Constant Field Values
-
DEFAULT_BUFFERED_COLOR
public static final int DEFAULT_BUFFERED_COLOR
Default color for the buffered portion of the time bar.- See Also:
- Constant Field Values
-
DEFAULT_SCRUBBER_COLOR
public static final int DEFAULT_SCRUBBER_COLOR
Default color for the scrubber handle.- See Also:
- Constant Field Values
-
DEFAULT_AD_MARKER_COLOR
public static final int DEFAULT_AD_MARKER_COLOR
Default color for ad markers.- See Also:
- Constant Field Values
-
DEFAULT_PLAYED_AD_MARKER_COLOR
public static final int DEFAULT_PLAYED_AD_MARKER_COLOR
Default color for played ad markers.- See Also:
- Constant Field Values
-
BAR_GRAVITY_CENTER
public static final int BAR_GRAVITY_CENTER
Vertical gravity for progress bar to be located at the center in the view.- See Also:
- Constant Field Values
-
BAR_GRAVITY_BOTTOM
public static final int BAR_GRAVITY_BOTTOM
Vertical gravity for progress bar to be located at the bottom in the view.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DefaultTimeBar
public DefaultTimeBar(Context context)
-
DefaultTimeBar
public DefaultTimeBar(Context context, @Nullable AttributeSet attrs)
-
DefaultTimeBar
public DefaultTimeBar(Context context, @Nullable AttributeSet attrs, int defStyleAttr)
-
DefaultTimeBar
public DefaultTimeBar(Context context, @Nullable AttributeSet attrs, int defStyleAttr, @Nullable AttributeSet timebarAttrs)
-
DefaultTimeBar
public DefaultTimeBar(Context context, @Nullable AttributeSet attrs, int defStyleAttr, @Nullable AttributeSet timebarAttrs, int defStyleRes)
-
-
Method Detail
-
showScrubber
public void showScrubber()
Shows the scrubber handle.
-
showScrubber
public void showScrubber(long showAnimationDurationMs)
Shows the scrubber handle with animation.- Parameters:
showAnimationDurationMs
- The duration for scrubber showing animation.
-
hideScrubber
public void hideScrubber(boolean disableScrubberPadding)
Hides the scrubber handle.
-
hideScrubber
public void hideScrubber(long hideAnimationDurationMs)
Hides the scrubber handle with animation.- Parameters:
hideAnimationDurationMs
- The duration for scrubber hiding animation.
-
setPlayedColor
public void setPlayedColor(@ColorInt int playedColor)
Sets the color for the portion of the time bar representing media before the playback position.- Parameters:
playedColor
- The color for the portion of the time bar representing media before the playback position.
-
setScrubberColor
public void setScrubberColor(@ColorInt int scrubberColor)
Sets the color for the scrubber handle.- Parameters:
scrubberColor
- The color for the scrubber handle.
-
setBufferedColor
public void setBufferedColor(@ColorInt int bufferedColor)
Sets the color for the portion of the time bar after the current played position up to the current buffered position.- Parameters:
bufferedColor
- The color for the portion of the time bar after the current played position up to the current buffered position.
-
setUnplayedColor
public void setUnplayedColor(@ColorInt int unplayedColor)
Sets the color for the portion of the time bar after the current played position.- Parameters:
unplayedColor
- The color for the portion of the time bar after the current played position.
-
setAdMarkerColor
public void setAdMarkerColor(@ColorInt int adMarkerColor)
Sets the color for unplayed ad markers.- Parameters:
adMarkerColor
- The color for unplayed ad markers.
-
setPlayedAdMarkerColor
public void setPlayedAdMarkerColor(@ColorInt int playedAdMarkerColor)
Sets the color for played ad markers.- Parameters:
playedAdMarkerColor
- The color for played ad markers.
-
addListener
public void addListener(TimeBar.OnScrubListener listener)
Description copied from interface:TimeBar
Adds a listener for scrubbing events.- Specified by:
addListener
in interfaceTimeBar
- Parameters:
listener
- The listener to add.
-
removeListener
public void removeListener(TimeBar.OnScrubListener listener)
Description copied from interface:TimeBar
Removes a listener for scrubbing events.- Specified by:
removeListener
in interfaceTimeBar
- Parameters:
listener
- The listener to remove.
-
setKeyTimeIncrement
public void setKeyTimeIncrement(long time)
Description copied from interface:TimeBar
Sets the position increment for key presses and accessibility actions, in milliseconds.Clears any increment specified in a preceding call to
TimeBar.setKeyCountIncrement(int)
.- Specified by:
setKeyTimeIncrement
in interfaceTimeBar
- Parameters:
time
- The time increment, in milliseconds.
-
setKeyCountIncrement
public void setKeyCountIncrement(int count)
Description copied from interface:TimeBar
Sets the position increment for key presses and accessibility actions, as a number of increments that divide the duration of the media. For example, passing 20 will cause key presses to increment/decrement the position by 1/20th of the duration (if known).Clears any increment specified in a preceding call to
TimeBar.setKeyTimeIncrement(long)
.- Specified by:
setKeyCountIncrement
in interfaceTimeBar
- Parameters:
count
- The number of increments that divide the duration of the media.
-
setPosition
public void setPosition(long position)
Description copied from interface:TimeBar
Sets the current position.- Specified by:
setPosition
in interfaceTimeBar
- Parameters:
position
- The current position to show, in milliseconds.
-
setBufferedPosition
public void setBufferedPosition(long bufferedPosition)
Description copied from interface:TimeBar
Sets the buffered position.- Specified by:
setBufferedPosition
in interfaceTimeBar
- Parameters:
bufferedPosition
- The current buffered position to show, in milliseconds.
-
setDuration
public void setDuration(long duration)
Description copied from interface:TimeBar
Sets the duration.- Specified by:
setDuration
in interfaceTimeBar
- Parameters:
duration
- The duration to show, in milliseconds.
-
getPreferredUpdateDelay
public long getPreferredUpdateDelay()
Description copied from interface:TimeBar
Returns the preferred delay in milliseconds of media time after which the time bar position should be updated.- Specified by:
getPreferredUpdateDelay
in interfaceTimeBar
- Returns:
- Preferred delay, in milliseconds of media time.
-
setAdGroupTimesMs
public void setAdGroupTimesMs(@Nullable long[] adGroupTimesMs, @Nullable boolean[] playedAdGroups, int adGroupCount)
Description copied from interface:TimeBar
Sets the times of ad groups and whether each ad group has been played.- Specified by:
setAdGroupTimesMs
in interfaceTimeBar
- Parameters:
adGroupTimesMs
- An array where the firstadGroupCount
elements are the times of ad groups in milliseconds. May benull
if there are no ad groups.playedAdGroups
- An array where the firstadGroupCount
elements indicate whether the corresponding ad groups have been played. May benull
if there are no ad groups.adGroupCount
- The number of ad groups.
-
setEnabled
public void setEnabled(boolean enabled)
- Specified by:
setEnabled
in interfaceTimeBar
- Overrides:
setEnabled
in classView
- See Also:
View.isEnabled()
-
onTouchEvent
public boolean onTouchEvent(MotionEvent event)
- Overrides:
onTouchEvent
in classView
-
onKeyDown
public boolean onKeyDown(int keyCode, KeyEvent event)
- Specified by:
onKeyDown
in interfaceKeyEvent.Callback
- Overrides:
onKeyDown
in classView
-
onFocusChanged
protected void onFocusChanged(boolean gainFocus, int direction, @Nullable Rect previouslyFocusedRect)
- Overrides:
onFocusChanged
in classView
-
drawableStateChanged
protected void drawableStateChanged()
- Overrides:
drawableStateChanged
in classView
-
jumpDrawablesToCurrentState
public void jumpDrawablesToCurrentState()
- Overrides:
jumpDrawablesToCurrentState
in classView
-
onMeasure
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
-
onLayout
protected void onLayout(boolean changed, int left, int top, int right, int bottom)
-
onRtlPropertiesChanged
public void onRtlPropertiesChanged(int layoutDirection)
- Overrides:
onRtlPropertiesChanged
in classView
-
onInitializeAccessibilityEvent
public void onInitializeAccessibilityEvent(AccessibilityEvent event)
- Overrides:
onInitializeAccessibilityEvent
in classView
-
onInitializeAccessibilityNodeInfo
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info)
- Overrides:
onInitializeAccessibilityNodeInfo
in classView
-
performAccessibilityAction
public boolean performAccessibilityAction(int action, @Nullable Bundle args)
- Overrides:
performAccessibilityAction
in classView
-
-