# LinearSnapHelper

added in[version 25.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  
belongs to Maven artifact com.android.support:recyclerview-v7:28.0.0-alpha1  
Summary:[Ctors](https://developer.android.com/reference/android/support/v7/widget/LinearSnapHelper#pubctors)\|[Methods](https://developer.android.com/reference/android/support/v7/widget/LinearSnapHelper#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/support/v7/widget/LinearSnapHelper#inhmethods)\|[\[Expand All\]](https://developer.android.com/reference/android/support/v7/widget/LinearSnapHelper#)  

# LinearSnapHelper

| This package is part of the Android[support library](https://developer.android.com/topic/libraries/support-library)which is no longer maintained. The support library has been superseded by[AndroidX](https://developer.android.com/jetpack/androidx)which is part of[Jetpack](https://developer.android.com/jetpack). We recommend using the AndroidX libraries in all new projects. You should also consider[migrating](https://developer.android.com/jetpack/androidx/migrate)existing projects to AndroidX. To find the AndroidX class that maps to this deprecated class, see the AndroidX support library[class mappings](https://developer.android.com/jetpack/androidx/migrate/class-mappings).

`
public


class
LinearSnapHelper
`  
`


``


``

extends `[SnapHelper](https://developer.android.com/reference/android/support/v7/widget/SnapHelper)`


``


`

|---|---|---|--------------------------------------------|
| java.lang.Object                                    ||||
| ↳ | [android.support.v7.widget.RecyclerView.OnFlingListener](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.OnFlingListener) |||
|   | ↳ | [android.support.v7.widget.SnapHelper](https://developer.android.com/reference/android/support/v7/widget/SnapHelper) ||
|   |   | ↳ | android.support.v7.widget.LinearSnapHelper |

<br />

*** ** * ** ***

Implementation of the[SnapHelper](https://developer.android.com/reference/android/support/v7/widget/SnapHelper)supporting snapping in either vertical or horizontal orientation.

The implementation will snap the center of the target child view to the center of the attached[RecyclerView](https://developer.android.com/reference/android/support/v7/widget/RecyclerView). If you intend to change this behavior then override[calculateDistanceToFinalSnap(RecyclerView.LayoutManager, View)](https://developer.android.com/reference/android/support/v7/widget/SnapHelper#calculateDistanceToFinalSnap(android.support.v7.widget.RecyclerView.LayoutManager, android.view.View)).

## Summary

|                                                       ### Public constructors                                                        ||
|-----------------------------------------------------------------------------------------------------------------------------------|---|
| ` `[LinearSnapHelper](https://developer.android.com/reference/android/support/v7/widget/LinearSnapHelper#LinearSnapHelper())`() ` |

|                                                                                                                                                                                                                                                                                                                   ### Public methods                                                                                                                                                                                                                                                                                                                    ||
|---------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` int[]`                                                                  | ` `[calculateDistanceToFinalSnap](https://developer.android.com/reference/android/support/v7/widget/LinearSnapHelper#calculateDistanceToFinalSnap(android.support.v7.widget.RecyclerView.LayoutManager, android.view.View))`(`[RecyclerView.LayoutManager](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutManager)` layoutManager, `[View](https://developer.android.com/reference/android/view/View.html)` targetView) ` Override this method to snap to a particular point within the target view or the container view on any axis. |
| ` `[View](https://developer.android.com/reference/android/view/View.html) | ` `[findSnapView](https://developer.android.com/reference/android/support/v7/widget/LinearSnapHelper#findSnapView(android.support.v7.widget.RecyclerView.LayoutManager))`(`[RecyclerView.LayoutManager](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutManager)` layoutManager) ` Override this method to provide a particular target view for snapping.                                                                                                                                                                               |
| ` int`                                                                    | ` `[findTargetSnapPosition](https://developer.android.com/reference/android/support/v7/widget/LinearSnapHelper#findTargetSnapPosition(android.support.v7.widget.RecyclerView.LayoutManager, int, int))`(`[RecyclerView.LayoutManager](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutManager)` layoutManager, int velocityX, int velocityY) ` Override to provide a particular adapter target position for snapping.                                                                                                                   |

| ### Inherited methods |
|-----------------------|---|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v7/widget/LinearSnapHelper#)From class` `[android.support.v7.widget.SnapHelper](https://developer.android.com/reference/android/support/v7/widget/SnapHelper)` ` |---------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` void`                                                                                                                         | ` `[attachToRecyclerView](https://developer.android.com/reference/android/support/v7/widget/SnapHelper#attachToRecyclerView(android.support.v7.widget.RecyclerView))`(`[RecyclerView](https://developer.android.com/reference/android/support/v7/widget/RecyclerView)` recyclerView) ` Attaches the[SnapHelper](https://developer.android.com/reference/android/support/v7/widget/SnapHelper)to the provided RecyclerView, by calling[setOnFlingListener(RecyclerView.OnFlingListener)](https://developer.android.com/reference/android/support/v7/widget/RecyclerView#setOnFlingListener(android.support.v7.widget.RecyclerView.OnFlingListener)). | | ` abstract int[]`                                                                                                               | ` `[calculateDistanceToFinalSnap](https://developer.android.com/reference/android/support/v7/widget/SnapHelper#calculateDistanceToFinalSnap(android.support.v7.widget.RecyclerView.LayoutManager, android.view.View))`(`[RecyclerView.LayoutManager](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutManager)` layoutManager, `[View](https://developer.android.com/reference/android/view/View.html)` targetView) ` Override this method to snap to a particular point within the target view or the container view on any axis.                                                                              | | ` int[]`                                                                                                                        | ` `[calculateScrollDistance](https://developer.android.com/reference/android/support/v7/widget/SnapHelper#calculateScrollDistance(int, int))`(int velocityX, int velocityY) ` Calculated the estimated scroll distance in each direction given velocities on both axes.                                                                                                                                                                                                                                                                                                                                                                             | | ` `[RecyclerView.SmoothScroller](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.SmoothScroller) | ` `[createScroller](https://developer.android.com/reference/android/support/v7/widget/SnapHelper#createScroller(android.support.v7.widget.RecyclerView.LayoutManager))`(`[RecyclerView.LayoutManager](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutManager)` layoutManager) ` Creates a scroller to be used in the snapping implementation.                                                                                                                                                                                                                                                                 | | ` `[LinearSmoothScroller](https://developer.android.com/reference/android/support/v7/widget/LinearSmoothScroller)               | ` `[createSnapScroller](https://developer.android.com/reference/android/support/v7/widget/SnapHelper#createSnapScroller(android.support.v7.widget.RecyclerView.LayoutManager))`(`[RecyclerView.LayoutManager](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutManager)` layoutManager) ` *This method was deprecated in API level 26.1.0. use[createScroller(LayoutManager)](https://developer.android.com/reference/android/support/v7/widget/SnapHelper#createScroller(android.support.v7.widget.RecyclerView.LayoutManager))instead.*                                                                       | | ` abstract `[View](https://developer.android.com/reference/android/view/View.html)                                              | ` `[findSnapView](https://developer.android.com/reference/android/support/v7/widget/SnapHelper#findSnapView(android.support.v7.widget.RecyclerView.LayoutManager))`(`[RecyclerView.LayoutManager](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutManager)` layoutManager) ` Override this method to provide a particular target view for snapping.                                                                                                                                                                                                                                                            | | ` abstract int`                                                                                                                 | ` `[findTargetSnapPosition](https://developer.android.com/reference/android/support/v7/widget/SnapHelper#findTargetSnapPosition(android.support.v7.widget.RecyclerView.LayoutManager, int, int))`(`[RecyclerView.LayoutManager](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutManager)` layoutManager, int velocityX, int velocityY) ` Override to provide a particular adapter target position for snapping.                                                                                                                                                                                                | | ` boolean`                                                                                                                      | ` `[onFling](https://developer.android.com/reference/android/support/v7/widget/SnapHelper#onFling(int, int))`(int velocityX, int velocityY) ` Override this to handle a fling given the velocities in both x and y directions.                                                                                                                                                                                                                                                                                                                                                                                                                      | ||
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v7/widget/LinearSnapHelper#)From class` `[android.support.v7.widget.RecyclerView.OnFlingListener](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.OnFlingListener)` ` |---------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` abstract boolean` | ` `[onFling](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.OnFlingListener#onFling(int, int))`(int velocityX, int velocityY) ` Override this to handle a fling given the velocities in both x and y directions. | ||
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v7/widget/LinearSnapHelper#)From class` java.lang.Object ` |-------------------|-------------------------------| | ` Object`         | ` clone() `                   | | ` boolean`        | ` equals(Object arg0) `       | | ` void`           | ` finalize() `                | | ` final Class<?>` | ` getClass() `                | | ` int`            | ` hashCode() `                | | ` final void`     | ` notify() `                  | | ` final void`     | ` notifyAll() `               | | ` String`         | ` toString() `                | | ` final void`     | ` wait(long arg0, int arg1) ` | | ` final void`     | ` wait(long arg0) `           | | ` final void`     | ` wait() `                    | ||

## Public constructors

### LinearSnapHelper

added in[version 25.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
LinearSnapHelper ()
```

<br />

<br />

## Public methods

### calculateDistanceToFinalSnap

added in[version 25.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
int[] calculateDistanceToFinalSnap (RecyclerView.LayoutManager layoutManager, 
                View targetView)
```

Override this method to snap to a particular point within the target view or the container view on any axis.

This method is called when the[SnapHelper](https://developer.android.com/reference/android/support/v7/widget/SnapHelper)has intercepted a fling and it needs to know the exact distance required to scroll by in order to snap to the target view.

<br />

|                                                                                                                                                  Parameters                                                                                                                                                   ||
|-----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `layoutManager` | `RecyclerView.LayoutManager`: the[RecyclerView.LayoutManager](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutManager)associated with the attached[RecyclerView](https://developer.android.com/reference/android/support/v7/widget/RecyclerView) <br /> |
| `targetView`    | `View`: the target view that is chosen as the view to snap <br />                                                                                                                                                                                                                            |

|                                                                          Returns                                                                           ||
|---------|---------------------------------------------------------------------------------------------------------------------------------------------------|
| `int[]` | the output coordinates the put the result into. out\[0\] is the distance on horizontal axis and out\[1\] is the distance on vertical axis. <br /> |

### findSnapView

added in[version 25.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
View findSnapView (RecyclerView.LayoutManager layoutManager)
```

Override this method to provide a particular target view for snapping.

This method is called when the[SnapHelper](https://developer.android.com/reference/android/support/v7/widget/SnapHelper)is ready to start snapping and requires a target view to snap to. It will be explicitly called when the scroll state becomes idle after a scroll. It will also be called when the[SnapHelper](https://developer.android.com/reference/android/support/v7/widget/SnapHelper)is preparing to snap after a fling and requires a reference view from the current set of child views.

If this method returns`null`, SnapHelper will not snap to any view.

<br />

|                                                                                                                                                  Parameters                                                                                                                                                   ||
|-----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `layoutManager` | `RecyclerView.LayoutManager`: the[RecyclerView.LayoutManager](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutManager)associated with the attached[RecyclerView](https://developer.android.com/reference/android/support/v7/widget/RecyclerView) <br /> |

|                                                                  Returns                                                                  ||
|------------------------------------------------------------------------|-------------------------------------------------------------------|
| [View](https://developer.android.com/reference/android/view/View.html) | the target view to which to snap on fling or end of scroll <br /> |

### findTargetSnapPosition

added in[version 25.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
int findTargetSnapPosition (RecyclerView.LayoutManager layoutManager, 
                int velocityX, 
                int velocityY)
```

Override to provide a particular adapter target position for snapping.

<br />

|                                                                                                                                                  Parameters                                                                                                                                                   ||
|-----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `layoutManager` | `RecyclerView.LayoutManager`: the[RecyclerView.LayoutManager](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutManager)associated with the attached[RecyclerView](https://developer.android.com/reference/android/support/v7/widget/RecyclerView) <br /> |
| `velocityX`     | `int`: fling velocity on the horizontal axis <br />                                                                                                                                                                                                                                          |
| `velocityY`     | `int`: fling velocity on the vertical axis <br />                                                                                                                                                                                                                                            |

|                                                                                                Returns                                                                                                ||
|-------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `int` | the target adapter position to you want to snap or[NO_POSITION](https://developer.android.com/reference/android/support/v7/widget/RecyclerView#NO_POSITION)if no snapping should happen <br /> |

-

  ## Annotations

  - [RecyclerView.EdgeEffectFactory.EdgeDirection](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.EdgeEffectFactory.EdgeDirection)
  - [RecyclerView.ItemAnimator.AdapterChanges](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.AdapterChanges)
-

  ## Interfaces

  - [ActionMenuView.OnMenuItemClickListener](https://developer.android.com/reference/android/support/v7/widget/ActionMenuView.OnMenuItemClickListener)
  - [PopupMenu.OnDismissListener](https://developer.android.com/reference/android/support/v7/widget/PopupMenu.OnDismissListener)
  - [PopupMenu.OnMenuItemClickListener](https://developer.android.com/reference/android/support/v7/widget/PopupMenu.OnMenuItemClickListener)
  - [RecyclerView.ChildDrawingOrderCallback](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ChildDrawingOrderCallback)
  - [RecyclerView.ItemAnimator.ItemAnimatorFinishedListener](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.ItemAnimatorFinishedListener)
  - [RecyclerView.LayoutManager.LayoutPrefetchRegistry](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutManager.LayoutPrefetchRegistry)
  - [RecyclerView.OnChildAttachStateChangeListener](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.OnChildAttachStateChangeListener)
  - [RecyclerView.OnItemTouchListener](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.OnItemTouchListener)
  - [RecyclerView.RecyclerListener](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.RecyclerListener)
  - [RecyclerView.SmoothScroller.ScrollVectorProvider](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.SmoothScroller.ScrollVectorProvider)
  - [SearchView.OnCloseListener](https://developer.android.com/reference/android/support/v7/widget/SearchView.OnCloseListener)
  - [SearchView.OnQueryTextListener](https://developer.android.com/reference/android/support/v7/widget/SearchView.OnQueryTextListener)
  - [SearchView.OnSuggestionListener](https://developer.android.com/reference/android/support/v7/widget/SearchView.OnSuggestionListener)
  - [ShareActionProvider.OnShareTargetSelectedListener](https://developer.android.com/reference/android/support/v7/widget/ShareActionProvider.OnShareTargetSelectedListener)
  - [ThemedSpinnerAdapter](https://developer.android.com/reference/android/support/v7/widget/ThemedSpinnerAdapter)
  - [Toolbar.OnMenuItemClickListener](https://developer.android.com/reference/android/support/v7/widget/Toolbar.OnMenuItemClickListener)
-

  ## Classes

  - [ActionMenuView](https://developer.android.com/reference/android/support/v7/widget/ActionMenuView)
  - [ActionMenuView.LayoutParams](https://developer.android.com/reference/android/support/v7/widget/ActionMenuView.LayoutParams)
  - [AppCompatAutoCompleteTextView](https://developer.android.com/reference/android/support/v7/widget/AppCompatAutoCompleteTextView)
  - [AppCompatButton](https://developer.android.com/reference/android/support/v7/widget/AppCompatButton)
  - [AppCompatCheckBox](https://developer.android.com/reference/android/support/v7/widget/AppCompatCheckBox)
  - [AppCompatCheckedTextView](https://developer.android.com/reference/android/support/v7/widget/AppCompatCheckedTextView)
  - [AppCompatEditText](https://developer.android.com/reference/android/support/v7/widget/AppCompatEditText)
  - [AppCompatImageButton](https://developer.android.com/reference/android/support/v7/widget/AppCompatImageButton)
  - [AppCompatImageView](https://developer.android.com/reference/android/support/v7/widget/AppCompatImageView)
  - [AppCompatMultiAutoCompleteTextView](https://developer.android.com/reference/android/support/v7/widget/AppCompatMultiAutoCompleteTextView)
  - [AppCompatRadioButton](https://developer.android.com/reference/android/support/v7/widget/AppCompatRadioButton)
  - [AppCompatRatingBar](https://developer.android.com/reference/android/support/v7/widget/AppCompatRatingBar)
  - [AppCompatSeekBar](https://developer.android.com/reference/android/support/v7/widget/AppCompatSeekBar)
  - [AppCompatSpinner](https://developer.android.com/reference/android/support/v7/widget/AppCompatSpinner)
  - [AppCompatTextView](https://developer.android.com/reference/android/support/v7/widget/AppCompatTextView)
  - [CardView](https://developer.android.com/reference/android/support/v7/widget/CardView)
  - [DefaultItemAnimator](https://developer.android.com/reference/android/support/v7/widget/DefaultItemAnimator)
  - [DividerItemDecoration](https://developer.android.com/reference/android/support/v7/widget/DividerItemDecoration)
  - [GridLayout](https://developer.android.com/reference/android/support/v7/widget/GridLayout)
  - [GridLayout.Alignment](https://developer.android.com/reference/android/support/v7/widget/GridLayout.Alignment)
  - [GridLayout.LayoutParams](https://developer.android.com/reference/android/support/v7/widget/GridLayout.LayoutParams)
  - [GridLayout.Spec](https://developer.android.com/reference/android/support/v7/widget/GridLayout.Spec)
  - [GridLayoutManager](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager)
  - [GridLayoutManager.DefaultSpanSizeLookup](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.DefaultSpanSizeLookup)
  - [GridLayoutManager.LayoutParams](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.LayoutParams)
  - [GridLayoutManager.SpanSizeLookup](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.SpanSizeLookup)
  - [LinearLayoutCompat](https://developer.android.com/reference/android/support/v7/widget/LinearLayoutCompat)
  - [LinearLayoutCompat.LayoutParams](https://developer.android.com/reference/android/support/v7/widget/LinearLayoutCompat.LayoutParams)
  - [LinearLayoutManager](https://developer.android.com/reference/android/support/v7/widget/LinearLayoutManager)
  - [LinearLayoutManager.LayoutChunkResult](https://developer.android.com/reference/android/support/v7/widget/LinearLayoutManager.LayoutChunkResult)
  - [LinearSmoothScroller](https://developer.android.com/reference/android/support/v7/widget/LinearSmoothScroller)
  - [LinearSnapHelper](https://developer.android.com/reference/android/support/v7/widget/LinearSnapHelper)
  - [ListPopupWindow](https://developer.android.com/reference/android/support/v7/widget/ListPopupWindow)
  - [OrientationHelper](https://developer.android.com/reference/android/support/v7/widget/OrientationHelper)
  - [PagerSnapHelper](https://developer.android.com/reference/android/support/v7/widget/PagerSnapHelper)
  - [PopupMenu](https://developer.android.com/reference/android/support/v7/widget/PopupMenu)
  - [RecyclerView](https://developer.android.com/reference/android/support/v7/widget/RecyclerView)
  - [RecyclerView.Adapter](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter)
  - [RecyclerView.AdapterDataObserver](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.AdapterDataObserver)
  - [RecyclerView.EdgeEffectFactory](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.EdgeEffectFactory)
  - [RecyclerView.ItemAnimator](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator)
  - [RecyclerView.ItemAnimator.ItemHolderInfo](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.ItemHolderInfo)
  - [RecyclerView.ItemDecoration](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemDecoration)
  - [RecyclerView.LayoutManager](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutManager)
  - [RecyclerView.LayoutManager.Properties](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutManager.Properties)
  - [RecyclerView.LayoutParams](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutParams)
  - [RecyclerView.OnFlingListener](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.OnFlingListener)
  - [RecyclerView.OnScrollListener](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.OnScrollListener)
  - [RecyclerView.RecycledViewPool](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.RecycledViewPool)
  - [RecyclerView.Recycler](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Recycler)
  - [RecyclerView.SimpleOnItemTouchListener](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.SimpleOnItemTouchListener)
  - [RecyclerView.SmoothScroller](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.SmoothScroller)
  - [RecyclerView.SmoothScroller.Action](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.SmoothScroller.Action)
  - [RecyclerView.State](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.State)
  - [RecyclerView.ViewCacheExtension](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewCacheExtension)
  - [RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)
  - [RecyclerViewAccessibilityDelegate](https://developer.android.com/reference/android/support/v7/widget/RecyclerViewAccessibilityDelegate)
  - [RecyclerViewAccessibilityDelegate.ItemDelegate](https://developer.android.com/reference/android/support/v7/widget/RecyclerViewAccessibilityDelegate.ItemDelegate)
  - [SearchView](https://developer.android.com/reference/android/support/v7/widget/SearchView)
  - [ShareActionProvider](https://developer.android.com/reference/android/support/v7/widget/ShareActionProvider)
  - [SimpleItemAnimator](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator)
  - [SnapHelper](https://developer.android.com/reference/android/support/v7/widget/SnapHelper)
  - [StaggeredGridLayoutManager](https://developer.android.com/reference/android/support/v7/widget/StaggeredGridLayoutManager)
  - [StaggeredGridLayoutManager.LayoutParams](https://developer.android.com/reference/android/support/v7/widget/StaggeredGridLayoutManager.LayoutParams)
  - [SwitchCompat](https://developer.android.com/reference/android/support/v7/widget/SwitchCompat)
  - [ThemedSpinnerAdapter.Helper](https://developer.android.com/reference/android/support/v7/widget/ThemedSpinnerAdapter.Helper)
  - [Toolbar](https://developer.android.com/reference/android/support/v7/widget/Toolbar)
  - [Toolbar.LayoutParams](https://developer.android.com/reference/android/support/v7/widget/Toolbar.LayoutParams)
  - [Toolbar.SavedState](https://developer.android.com/reference/android/support/v7/widget/Toolbar.SavedState)
  - [TooltipCompat](https://developer.android.com/reference/android/support/v7/widget/TooltipCompat)