TtScrollBar

class TtScrollBar @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : ConstraintLayout

A RecyclerView's scroll bar to control and visualize scrolling status.

Besides the basic scroll bar functionalities, this control also provides additional features:

  • A scroll bar indicator - an extra view attached to this control's parent view to present extra information based on the scrolling position.

  • Scroll by page - scrolls ttTargetView by page while the up or down button is pressed.

  • Scroll to top - scrolls ttTargetView to the top page while the up button is pressed.

All theme attributes used by this control are declared in com.tomtom.tools.android.core.theme. To use this control, it is mandatory to define these attribute values.

Note: There are few limitations of the current implementation.

  1. ttTargetView has to be a RecyclerView and the RecyclerView.LayoutManager can only be a vertical LinearLayoutManager.

  2. It can only be put inside a ConstraintLayout.

Parameters

context

The display context.

attrs

The attribute set provided in the layout XML file.

defStyleAttr

The default style attribute set.

Constructors

Link copied to clipboard
constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0)

Types

Link copied to clipboard

The button action defines the desired scroll behavior while clicking the up or the down button.

Link copied to clipboard

The scrolling behavior defines how the scrollbar moves the target view to the desired position.

Properties

Link copied to clipboard

The behavior of the scroll bar buttons. It controls how the ttTargetView be scrolled when pressing ttUpButtonDrawable/ ttDownButtonDrawable. The default value is ButtonAction.NONE.

Link copied to clipboard

The drawable for the scroll downward button. No down button if this is set to null.

Link copied to clipboard

The custom drawable for the scroll bar handle. A default handle is applied when this is set to null.

Link copied to clipboard

The scrolling behavior of the scroll bar. It controls how the ttTargetView is scrolled. The default value is ScrollBehavior.SCROLL_BY_PIXEL.

Link copied to clipboard

Showing the scrolling indicator when set to true. The default value is `false. The indicator is an extra view attached to this control's parent view to present extra information based on the scrolling position. The indicator will be positioned to overlay the ttTargetView. If the scrollbar is to the left of the target view, the indicator will be placed on the right side of the scrollbar and vice versa.

Link copied to clipboard

The RecyclerView to which the scroll bar needs to be attached. It has to be set in order to make the scroll bar work.

Link copied to clipboard

The custom drawable for the scroll bar track. A default track is applied when this is set to null.

Link copied to clipboard

Whether the scroll track below the handle is visible. Other visual aspects of the scroll bar (such as the handle color) may also adjust as a result of changing this. This is true by default.

Link copied to clipboard

The drawable for the scroll upward button. No up button if this is set to null.

Functions

Link copied to clipboard
open override fun onTouchEvent(event: MotionEvent): Boolean
Link copied to clipboard

Sets the down button drawable by providing the drawableResolver.

Link copied to clipboard
fun setTtUpButtonDrawable(drawableResolver: DrawableResolver?)

Sets the up button drawable by providing the drawableResolver.

Inherited functions

Link copied to clipboard
Link copied to clipboard
open fun addFocusables(p0: ArrayList<View>, p1: Int)
open override fun addFocusables(p0: ArrayList<View>, p1: Int, p2: Int)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun addTouchables(p0: ArrayList<View>)
Link copied to clipboard
open fun addView(p0: View)
open override fun addView(p0: View, p1: ViewGroup.LayoutParams)
open fun addView(p0: View, p1: Int)
open fun addView(p0: View, p1: Int, p2: ViewGroup.LayoutParams)
open fun addView(p0: View, p1: Int, p2: Int)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun bringChildToFront(p0: View)
Link copied to clipboard
open fun bringToFront()
Link copied to clipboard
Link copied to clipboard
open fun buildLayer()
Link copied to clipboard
open fun callOnClick(): Boolean
Link copied to clipboard
Link copied to clipboard
open fun cancelLongPress()
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun childDrawableStateChanged(p0: View)
Link copied to clipboard
open override fun childHasTransientStateChanged(p0: View, p1: Boolean)
Link copied to clipboard
open fun clearAnimation()
Link copied to clipboard
open override fun clearChildFocus(p0: View)
Link copied to clipboard
Link copied to clipboard
open override fun clearFocus()
Link copied to clipboard
Link copied to clipboard
open fun computeScroll()
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun dispatchDisplayHint(p0: Int)
Link copied to clipboard
open override fun dispatchDragEvent(p0: DragEvent): Boolean
Link copied to clipboard
open override fun dispatchDrawableHotspotChanged(p0: Float, p1: Float)
Link copied to clipboard
open override fun dispatchFinishTemporaryDetach()
Link copied to clipboard
open override fun dispatchKeyEvent(p0: KeyEvent): Boolean
Link copied to clipboard
open override fun dispatchKeyEventPreIme(p0: KeyEvent): Boolean
Link copied to clipboard
open override fun dispatchKeyShortcutEvent(p0: KeyEvent): Boolean
Link copied to clipboard
open fun dispatchNestedFling(p0: Float, p1: Float, p2: Boolean): Boolean
Link copied to clipboard
Link copied to clipboard
open fun dispatchNestedPreScroll(p0: Int, p1: Int, p2: IntArray?, p3: IntArray?): Boolean
Link copied to clipboard
open fun dispatchNestedScroll(p0: Int, p1: Int, p2: Int, p3: Int, p4: IntArray?): Boolean
Link copied to clipboard
open override fun dispatchPointerCaptureChanged(p0: Boolean)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun dispatchSetActivated(p0: Boolean)
Link copied to clipboard
open override fun dispatchSetSelected(p0: Boolean)
Link copied to clipboard
open override fun dispatchStartTemporaryDetach()
Link copied to clipboard
open override fun dispatchSystemUiVisibilityChanged(p0: Int)
Link copied to clipboard
open override fun dispatchTouchEvent(p0: MotionEvent): Boolean
Link copied to clipboard
Link copied to clipboard
open override fun dispatchUnhandledMove(p0: View, p1: Int): Boolean
Link copied to clipboard
open override fun dispatchWindowFocusChanged(p0: Boolean)
Link copied to clipboard
open override fun dispatchWindowVisibilityChanged(p0: Int)
Link copied to clipboard
open fun draw(p0: Canvas)
Link copied to clipboard
Link copied to clipboard
open fun endViewTransition(p0: View)
Link copied to clipboard
open fun fillMetrics(metrics: Metrics)
Link copied to clipboard
open override fun findFocus(): View
Link copied to clipboard
fun <T : View> findViewById(p0: Int): T
Link copied to clipboard
open override fun findViewsWithText(p0: ArrayList<View>, p1: CharSequence, p2: Int)
Link copied to clipboard
fun <T : View> findViewWithTag(p0: Any): T
Link copied to clipboard
open override fun focusableViewAvailable(p0: View)
Link copied to clipboard
open fun focusSearch(p0: Int): View
open override fun focusSearch(p0: View, p1: Int): View
Link copied to clipboard
Link copied to clipboard
open override fun forceLayout()
Link copied to clipboard
open override fun gatherTransparentRegion(p0: Region?): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getAlpha(): Float
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getAutofillType(): Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getBaseline(): Int
Link copied to clipboard
fun getBottom(): Int
Link copied to clipboard
Link copied to clipboard
open fun getChildAt(p0: Int): View
Link copied to clipboard
open fun getChildCount(): Int
Link copied to clipboard
Link copied to clipboard
open override fun getChildVisibleRect(p0: View, p1: Rect, p2: Point): Boolean
Link copied to clipboard
open fun getClipBounds(): Rect
open fun getClipBounds(p0: Rect): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getDesignInformation(type: Int, value: Any): Any
Link copied to clipboard
open fun getDisplay(): Display
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getDrawingRect(p0: Rect)
Link copied to clipboard
open fun getDrawingTime(): Long
Link copied to clipboard
open fun getElevation(): Float
Link copied to clipboard
open fun getExplicitStyle(): Int
Link copied to clipboard
Link copied to clipboard
open fun getFocusable(): Int
Link copied to clipboard
Link copied to clipboard
open fun getFocusedChild(): View
Link copied to clipboard
open fun getFocusedRect(p0: Rect)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getHandler(): Handler
Link copied to clipboard
fun getHeight(): Int
Link copied to clipboard
open fun getHitRect(p0: Rect)
Link copied to clipboard
Link copied to clipboard
open fun getId(): Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getLabelFor(): Int
Link copied to clipboard
open fun getLayerType(): Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getLayoutMode(): Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun getLeft(): Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getMatrix(): Matrix
Link copied to clipboard
open fun getMaxHeight(): Int
Link copied to clipboard
open fun getMaxWidth(): Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getMinHeight(): Int
Link copied to clipboard
open fun getMinimumHeight(): Int
Link copied to clipboard
open fun getMinimumWidth(): Int
Link copied to clipboard
open fun getMinWidth(): Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getNextFocusUpId(): Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun getOverlay(): ViewGroupOverlay
Link copied to clipboard
Link copied to clipboard
open fun getPaddingBottom(): Int
Link copied to clipboard
open fun getPaddingEnd(): Int
Link copied to clipboard
open fun getPaddingLeft(): Int
Link copied to clipboard
open fun getPaddingRight(): Int
Link copied to clipboard
open fun getPaddingStart(): Int
Link copied to clipboard
open fun getPaddingTop(): Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getPivotX(): Float
Link copied to clipboard
open fun getPivotY(): Float
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun getRight(): Int
Link copied to clipboard
open fun getRootView(): View
Link copied to clipboard
Link copied to clipboard
open fun getRotation(): Float
Link copied to clipboard
open fun getRotationX(): Float
Link copied to clipboard
open fun getRotationY(): Float
Link copied to clipboard
open fun getScaleX(): Float
Link copied to clipboard
open fun getScaleY(): Float
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getScrollBarSize(): Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getSolidColor(): Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getTag(): Any
open fun getTag(p0: Int): Any
Link copied to clipboard
open fun getTextAlignment(): Int
Link copied to clipboard
open fun getTextDirection(): Int
Link copied to clipboard
Link copied to clipboard
fun getTop(): Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getViewById(id: Int): View
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getVisibility(): Int
Link copied to clipboard
fun getWidth(): Int
Link copied to clipboard
open fun getWindowId(): WindowId
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getX(): Float
Link copied to clipboard
open fun getY(): Float
Link copied to clipboard
open fun getZ(): Float
Link copied to clipboard
Link copied to clipboard
open override fun hasFocus(): Boolean
Link copied to clipboard
open fun hasFocusable(): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun hasTransientState(): Boolean
Link copied to clipboard
Link copied to clipboard
open fun indexOfChild(p0: View): Int
Link copied to clipboard
open fun invalidate()
open fun invalidate(p0: Rect)
open fun invalidate(p0: Int, p1: Int, p2: Int, p3: Int)
Link copied to clipboard
override fun invalidateChild(p0: View, p1: Rect)
Link copied to clipboard
open override fun invalidateChildInParent(p0: IntArray, p1: Rect): ViewParent
Link copied to clipboard
open override fun invalidateDrawable(p0: Drawable)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun isActivated(): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun isClickable(): Boolean
Link copied to clipboard
Link copied to clipboard
open fun isDirty(): Boolean
Link copied to clipboard
Link copied to clipboard
open fun isEnabled(): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun isFocused(): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun isHovered(): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun isInEditMode(): Boolean
Link copied to clipboard
open fun isInLayout(): Boolean
Link copied to clipboard
Link copied to clipboard
open fun isLaidOut(): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun isOpaque(): Boolean
Link copied to clipboard
Link copied to clipboard
open fun isPivotSet(): Boolean
Link copied to clipboard
Link copied to clipboard
open fun isPressed(): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun isSelected(): Boolean
Link copied to clipboard
Link copied to clipboard
open fun isShown(): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun jumpDrawablesToCurrentState()
Link copied to clipboard
Link copied to clipboard
override fun layout(p0: Int, p1: Int, p2: Int, p3: Int)
Link copied to clipboard
open fun loadLayoutDescription(layoutDescription: Int)
Link copied to clipboard
fun measure(p0: Int, p1: Int)
Link copied to clipboard
open override fun notifySubtreeAccessibilityStateChanged(p0: View, p1: View, p2: Int)
Link copied to clipboard
open fun offsetLeftAndRight(p0: Int)
Link copied to clipboard
open fun offsetTopAndBottom(p0: Int)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun onDescendantInvalidated(p0: View, p1: View)
Link copied to clipboard
Link copied to clipboard
open fun onDrawForeground(p0: Canvas)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun onHoverChanged(p0: Boolean)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun onKeyDown(p0: Int, p1: KeyEvent): Boolean
Link copied to clipboard
open override fun onKeyLongPress(p0: Int, p1: KeyEvent): Boolean
Link copied to clipboard
open override fun onKeyMultiple(p0: Int, p1: Int, p2: KeyEvent): Boolean
Link copied to clipboard
open fun onKeyPreIme(p0: Int, p1: KeyEvent): Boolean
Link copied to clipboard
open fun onKeyShortcut(p0: Int, p1: KeyEvent): Boolean
Link copied to clipboard
open override fun onKeyUp(p0: Int, p1: KeyEvent): Boolean
Link copied to clipboard
open override fun onNestedFling(p0: View, p1: Float, p2: Float, p3: Boolean): Boolean
Link copied to clipboard
open override fun onNestedPreFling(p0: View, p1: Float, p2: Float): Boolean
Link copied to clipboard
open override fun onNestedPrePerformAccessibilityAction(p0: View, p1: Int, p2: Bundle?): Boolean
Link copied to clipboard
open override fun onNestedPreScroll(p0: View, p1: Int, p2: Int, p3: IntArray)
Link copied to clipboard
open override fun onNestedScroll(p0: View, p1: Int, p2: Int, p3: Int, p4: Int)
Link copied to clipboard
open override fun onNestedScrollAccepted(p0: View, p1: View, p2: Int)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun onResolvePointerIcon(p0: MotionEvent, p1: Int): PointerIcon
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun onStartNestedScroll(p0: View, p1: View, p2: Int): Boolean
Link copied to clipboard
Link copied to clipboard
open override fun onStopNestedScroll(p0: View)
Link copied to clipboard
Link copied to clipboard
open override fun onViewAdded(view: View)
Link copied to clipboard
open override fun onViewRemoved(view: View)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun performClick(): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun playSoundEffect(p0: Int)
Link copied to clipboard
open fun post(p0: Runnable): Boolean
Link copied to clipboard
open fun postDelayed(p0: Runnable, p1: Long): Boolean
Link copied to clipboard
open fun postInvalidate()
open fun postInvalidate(p0: Int, p1: Int, p2: Int, p3: Int)
Link copied to clipboard
open fun postInvalidateDelayed(p0: Long, p1: Int, p2: Int, p3: Int, p4: Int)
Link copied to clipboard
open fun postInvalidateOnAnimation(p0: Int, p1: Int, p2: Int, p3: Int)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun recomputeViewAttributes(p0: View)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun removeAllViews()
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun removeView(p0: View)
Link copied to clipboard
open fun removeViewAt(p0: Int)
Link copied to clipboard
open fun removeViewInLayout(p0: View)
Link copied to clipboard
open fun removeViews(p0: Int, p1: Int)
Link copied to clipboard
open fun removeViewsInLayout(p0: Int, p1: Int)
Link copied to clipboard
Link copied to clipboard
open override fun requestChildFocus(p0: View, p1: View)
Link copied to clipboard
open override fun requestChildRectangleOnScreen(p0: View, p1: Rect, p2: Boolean): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun requestFocus(p0: Int, p1: Rect): Boolean
Link copied to clipboard
Link copied to clipboard
open override fun requestLayout()
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun requestTransparentRegion(p0: View)
Link copied to clipboard
fun <T : View> requireViewById(p0: Int): T
Link copied to clipboard
open fun resetPivot()
Link copied to clipboard
open override fun restoreDefaultFocus(): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun scheduleDrawable(p0: Drawable, p1: Runnable, p2: Long)
Link copied to clipboard
Link copied to clipboard
open fun scrollBy(p0: Int, p1: Int)
Link copied to clipboard
open fun scrollTo(p0: Int, p1: Int)
Link copied to clipboard
open override fun sendAccessibilityEvent(p0: Int)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun setActivated(p0: Boolean)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun setAlpha(p0: Float)
Link copied to clipboard
open fun setAnimation(p0: Animation)
Link copied to clipboard
Link copied to clipboard
open fun setAnimationMatrix(p0: Matrix?)
Link copied to clipboard
open fun setAutofillHints(vararg p0: String)
Link copied to clipboard
open fun setAutofillId(p0: AutofillId?)
Link copied to clipboard
Link copied to clipboard
open fun setBackground(p0: Drawable)
Link copied to clipboard
open fun setBackgroundColor(p0: Int)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard