# ScrollingView

Artifact: [androidx.core:core](https://developer.android.com/jetpack/androidx/releases/core) [View Source](https://cs.android.com/search?q=file:androidx/core/view/ScrollingView.java+class:androidx.core.view.ScrollingView) Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

*** ** * ** ***


```
public interface ScrollingView
```

<br />

Known direct subclasses [NestedScrollView](https://developer.android.com/reference/androidx/core/widget/NestedScrollView), [RecyclerView](https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView)

|---|---|
| `https://developer.android.com/reference/androidx/core/widget/NestedScrollView` | NestedScrollView is just like `https://developer.android.com/reference/android/widget/ScrollView.html`, but it supports acting as both a nested scrolling parent and child on both new and old versions of Android. |
| `https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView` | A flexible view for providing a limited window into a large data set. |

Known indirect subclasses [BaseGridView](https://developer.android.com/reference/androidx/leanback/widget/BaseGridView), [HorizontalGridView](https://developer.android.com/reference/androidx/leanback/widget/HorizontalGridView), [VerticalGridView](https://developer.android.com/reference/androidx/leanback/widget/VerticalGridView), [WearableRecyclerView](https://developer.android.com/reference/androidx/wear/widget/WearableRecyclerView)

|---|---|
| `https://developer.android.com/reference/androidx/leanback/widget/BaseGridView` | An abstract base class for vertically and horizontally scrolling lists. |
| `https://developer.android.com/reference/androidx/leanback/widget/HorizontalGridView` | A `https://developer.android.com/reference/android/view/ViewGroup.html` that shows items in a horizontal scrolling list. |
| `https://developer.android.com/reference/androidx/leanback/widget/VerticalGridView` | A `https://developer.android.com/reference/android/view/ViewGroup.html` that shows items in a vertically scrolling list. |
| `https://developer.android.com/reference/androidx/wear/widget/WearableRecyclerView` | Wearable specific implementation of the `https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView` enabling `https://developer.android.com/reference/androidx/wear/widget/WearableRecyclerView#setCircularScrollingGestureEnabled(boolean)` circular scrolling} and semi-circular layouts. |

*** ** * ** ***

An interface that can be implemented by Views to provide scroll related APIs.

## Summary

| ### Public methods |
|---|---|
| `abstract int` | `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeHorizontalScrollExtent()()` Compute the horizontal extent of the horizontal scrollbar's thumb within the horizontal range. |
| `abstract int` | `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeHorizontalScrollOffset()()` Compute the horizontal offset of the horizontal scrollbar's thumb within the horizontal range. |
| `abstract int` | `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeHorizontalScrollRange()()` Compute the horizontal range that the horizontal scrollbar represents. |
| `abstract int` | `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeVerticalScrollExtent()()` Compute the vertical extent of the vertical scrollbar's thumb within the vertical range. |
| `abstract int` | `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeVerticalScrollOffset()()` Compute the vertical offset of the vertical scrollbar's thumb within the horizontal range. |
| `abstract int` | `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeVerticalScrollRange()()` Compute the vertical range that the vertical scrollbar represents. |

## Public methods

### computeHorizontalScrollExtent

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

```
abstract int computeHorizontalScrollExtent()
```

Compute the horizontal extent of the horizontal scrollbar's thumb within the horizontal range. This value is used to compute the length of the thumb within the scrollbar's track.

The range is expressed in arbitrary units that must be the same as the units used by `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeHorizontalScrollRange()` and `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeHorizontalScrollOffset()`.

The default extent is the drawing width of this view.

| Returns |
|---|---|
| `int` | the horizontal extent of the scrollbar's thumb |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeHorizontalScrollRange()` |   |
| `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeHorizontalScrollOffset()` |   |

### computeHorizontalScrollOffset

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

```
abstract int computeHorizontalScrollOffset()
```

Compute the horizontal offset of the horizontal scrollbar's thumb within the horizontal range. This value is used to compute the position of the thumb within the scrollbar's track.

The range is expressed in arbitrary units that must be the same as the units used by `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeHorizontalScrollRange()` and `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeHorizontalScrollExtent()`.

The default offset is the scroll offset of this view.

| Returns |
|---|---|
| `int` | the horizontal offset of the scrollbar's thumb |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeHorizontalScrollRange()` |   |
| `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeHorizontalScrollExtent()` |   |

### computeHorizontalScrollRange

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

```
abstract int computeHorizontalScrollRange()
```

Compute the horizontal range that the horizontal scrollbar represents.

The range is expressed in arbitrary units that must be the same as the units used by `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeHorizontalScrollExtent()` and `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeHorizontalScrollOffset()`.

The default range is the drawing width of this view.

| Returns |
|---|---|
| `int` | the total horizontal range represented by the horizontal scrollbar |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeHorizontalScrollExtent()` |   |
| `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeHorizontalScrollOffset()` |   |

### computeVerticalScrollExtent

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

```
abstract int computeVerticalScrollExtent()
```

Compute the vertical extent of the vertical scrollbar's thumb within the vertical range. This value is used to compute the length of the thumb within the scrollbar's track.

The range is expressed in arbitrary units that must be the same as the units used by `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeVerticalScrollRange()` and `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeVerticalScrollOffset()`.

The default extent is the drawing height of this view.

| Returns |
|---|---|
| `int` | the vertical extent of the scrollbar's thumb |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeVerticalScrollRange()` |   |
| `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeVerticalScrollOffset()` |   |

### computeVerticalScrollOffset

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

```
abstract int computeVerticalScrollOffset()
```

Compute the vertical offset of the vertical scrollbar's thumb within the horizontal range. This value is used to compute the position of the thumb within the scrollbar's track.

The range is expressed in arbitrary units that must be the same as the units used by `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeVerticalScrollRange()` and `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeVerticalScrollExtent()`.

The default offset is the scroll offset of this view.

| Returns |
|---|---|
| `int` | the vertical offset of the scrollbar's thumb |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeVerticalScrollRange()` |   |
| `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeVerticalScrollExtent()` |   |

### computeVerticalScrollRange

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

```
abstract int computeVerticalScrollRange()
```

Compute the vertical range that the vertical scrollbar represents.

The range is expressed in arbitrary units that must be the same as the units used by `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeVerticalScrollExtent()` and `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeVerticalScrollOffset()`.

| Returns |
|---|---|
| `int` | the total vertical range represented by the vertical scrollbar The default range is the drawing height of this view. |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeVerticalScrollExtent()` |   |
| `https://developer.android.com/reference/androidx/core/view/ScrollingView#computeVerticalScrollOffset()` |   |