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 intBAR_GRAVITY_BOTTOMVertical gravity for progress bar to be located at the bottom in the view.static intBAR_GRAVITY_CENTERVertical gravity for progress bar to be located at the center in the view.static intDEFAULT_AD_MARKER_COLORDefault color for ad markers.static intDEFAULT_AD_MARKER_WIDTH_DPDefault width for ad markers, in dp.static intDEFAULT_BAR_HEIGHT_DPDefault height for the time bar, in dp.static intDEFAULT_BUFFERED_COLORDefault color for the buffered portion of the time bar.static intDEFAULT_PLAYED_AD_MARKER_COLORDefault color for played ad markers.static intDEFAULT_PLAYED_COLORDefault color for the played portion of the time bar.static intDEFAULT_SCRUBBER_COLORDefault color for the scrubber handle.static intDEFAULT_SCRUBBER_DISABLED_SIZE_DPDefault diameter for the scrubber when disabled, in dp.static intDEFAULT_SCRUBBER_DRAGGED_SIZE_DPDefault diameter for the scrubber when dragged, in dp.static intDEFAULT_SCRUBBER_ENABLED_SIZE_DPDefault diameter for the scrubber when enabled, in dp.static intDEFAULT_TOUCH_TARGET_HEIGHT_DPDefault height for the touch target, in dp.static intDEFAULT_UNPLAYED_COLORDefault 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 voidaddListener(TimeBar.OnScrubListener listener)Adds a listener for scrubbing events.protected voiddrawableStateChanged()longgetPreferredUpdateDelay()Returns the preferred delay in milliseconds of media time after which the time bar position should be updated.voidhideScrubber(boolean disableScrubberPadding)Hides the scrubber handle.voidhideScrubber(long hideAnimationDurationMs)Hides the scrubber handle with animation.voidjumpDrawablesToCurrentState()voidonDraw(Canvas canvas)protected voidonFocusChanged(boolean gainFocus, int direction, Rect previouslyFocusedRect)voidonInitializeAccessibilityEvent(AccessibilityEvent event)voidonInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info)booleanonKeyDown(int keyCode, KeyEvent event)protected voidonLayout(boolean changed, int left, int top, int right, int bottom)protected voidonMeasure(int widthMeasureSpec, int heightMeasureSpec)voidonRtlPropertiesChanged(int layoutDirection)booleanonTouchEvent(MotionEvent event)booleanperformAccessibilityAction(int action, Bundle args)voidremoveListener(TimeBar.OnScrubListener listener)Removes a listener for scrubbing events.voidsetAdGroupTimesMs(long[] adGroupTimesMs, boolean[] playedAdGroups, int adGroupCount)Sets the times of ad groups and whether each ad group has been played.voidsetAdMarkerColor(int adMarkerColor)Sets the color for unplayed ad markers.voidsetBufferedColor(int bufferedColor)Sets the color for the portion of the time bar after the current played position up to the current buffered position.voidsetBufferedPosition(long bufferedPosition)Sets the buffered position.voidsetDuration(long duration)Sets the duration.voidsetEnabled(boolean enabled)voidsetKeyCountIncrement(int count)Sets the position increment for key presses and accessibility actions, as a number of increments that divide the duration of the media.voidsetKeyTimeIncrement(long time)Sets the position increment for key presses and accessibility actions, in milliseconds.voidsetPlayedAdMarkerColor(int playedAdMarkerColor)Sets the color for played ad markers.voidsetPlayedColor(int playedColor)Sets the color for the portion of the time bar representing media before the playback position.voidsetPosition(long position)Sets the current position.voidsetScrubberColor(int scrubberColor)Sets the color for the scrubber handle.voidsetUnplayedColor(int unplayedColor)Sets the color for the portion of the time bar after the current played position.voidshowScrubber()Shows the scrubber handle.voidshowScrubber(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:TimeBarAdds a listener for scrubbing events.- Specified by:
addListenerin interfaceTimeBar- Parameters:
listener- The listener to add.
-
removeListener
public void removeListener(TimeBar.OnScrubListener listener)
Description copied from interface:TimeBarRemoves a listener for scrubbing events.- Specified by:
removeListenerin interfaceTimeBar- Parameters:
listener- The listener to remove.
-
setKeyTimeIncrement
public void setKeyTimeIncrement(long time)
Description copied from interface:TimeBarSets 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:
setKeyTimeIncrementin interfaceTimeBar- Parameters:
time- The time increment, in milliseconds.
-
setKeyCountIncrement
public void setKeyCountIncrement(int count)
Description copied from interface:TimeBarSets 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:
setKeyCountIncrementin interfaceTimeBar- Parameters:
count- The number of increments that divide the duration of the media.
-
setPosition
public void setPosition(long position)
Description copied from interface:TimeBarSets the current position.- Specified by:
setPositionin interfaceTimeBar- Parameters:
position- The current position to show, in milliseconds.
-
setBufferedPosition
public void setBufferedPosition(long bufferedPosition)
Description copied from interface:TimeBarSets the buffered position.- Specified by:
setBufferedPositionin interfaceTimeBar- Parameters:
bufferedPosition- The current buffered position to show, in milliseconds.
-
setDuration
public void setDuration(long duration)
Description copied from interface:TimeBarSets the duration.- Specified by:
setDurationin interfaceTimeBar- Parameters:
duration- The duration to show, in milliseconds.
-
getPreferredUpdateDelay
public long getPreferredUpdateDelay()
Description copied from interface:TimeBarReturns the preferred delay in milliseconds of media time after which the time bar position should be updated.- Specified by:
getPreferredUpdateDelayin 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:TimeBarSets the times of ad groups and whether each ad group has been played.- Specified by:
setAdGroupTimesMsin interfaceTimeBar- Parameters:
adGroupTimesMs- An array where the firstadGroupCountelements are the times of ad groups in milliseconds. May benullif there are no ad groups.playedAdGroups- An array where the firstadGroupCountelements indicate whether the corresponding ad groups have been played. May benullif there are no ad groups.adGroupCount- The number of ad groups.
-
setEnabled
public void setEnabled(boolean enabled)
- Specified by:
setEnabledin interfaceTimeBar- Overrides:
setEnabledin classView- See Also:
View.isEnabled()
-
onTouchEvent
public boolean onTouchEvent(MotionEvent event)
- Overrides:
onTouchEventin classView
-
onKeyDown
public boolean onKeyDown(int keyCode, KeyEvent event)- Specified by:
onKeyDownin interfaceKeyEvent.Callback- Overrides:
onKeyDownin classView
-
onFocusChanged
protected void onFocusChanged(boolean gainFocus, int direction, @Nullable Rect previouslyFocusedRect)- Overrides:
onFocusChangedin classView
-
drawableStateChanged
protected void drawableStateChanged()
- Overrides:
drawableStateChangedin classView
-
jumpDrawablesToCurrentState
public void jumpDrawablesToCurrentState()
- Overrides:
jumpDrawablesToCurrentStatein 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:
onRtlPropertiesChangedin classView
-
onInitializeAccessibilityEvent
public void onInitializeAccessibilityEvent(AccessibilityEvent event)
- Overrides:
onInitializeAccessibilityEventin classView
-
onInitializeAccessibilityNodeInfo
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info)
- Overrides:
onInitializeAccessibilityNodeInfoin classView
-
performAccessibilityAction
public boolean performAccessibilityAction(int action, @Nullable Bundle args)- Overrides:
performAccessibilityActionin classView
-
-