# SnapHelper

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/SnapHelper#pubctors)\|[Methods](https://developer.android.com/reference/android/support/v7/widget/SnapHelper#pubmethods)\|[Protected Methods](https://developer.android.com/reference/android/support/v7/widget/SnapHelper#promethods)\|[Inherited Methods](https://developer.android.com/reference/android/support/v7/widget/SnapHelper#inhmethods)\|[\[Expand All\]](https://developer.android.com/reference/android/support/v7/widget/SnapHelper#)  

# SnapHelper

| 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


abstract
class
SnapHelper
`  
`


``

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


``


`

|---|---|--------------------------------------|
| 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/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v7/widget/SnapHelper#)Known Direct Subclasses [LinearSnapHelper](https://developer.android.com/reference/android/support/v7/widget/LinearSnapHelper),[PagerSnapHelper](https://developer.android.com/reference/android/support/v7/widget/PagerSnapHelper) |--------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [LinearSnapHelper](https://developer.android.com/reference/android/support/v7/widget/LinearSnapHelper) | Implementation of the[SnapHelper](https://developer.android.com/reference/android/support/v7/widget/SnapHelper)supporting snapping in either vertical or horizontal orientation.             | | [PagerSnapHelper](https://developer.android.com/reference/android/support/v7/widget/PagerSnapHelper)   | Implementation of the[SnapHelper](https://developer.android.com/reference/android/support/v7/widget/SnapHelper)supporting pager style snapping in either vertical or horizontal orientation. | |

<br />

*** ** * ** ***

Class intended to support snapping for a[RecyclerView](https://developer.android.com/reference/android/support/v7/widget/RecyclerView).

SnapHelper tries to handle fling as well but for this to work properly, the[RecyclerView.LayoutManager](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutManager)must implement the[RecyclerView.SmoothScroller.ScrollVectorProvider](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.SmoothScroller.ScrollVectorProvider)interface or you should override[onFling(int, int)](https://developer.android.com/reference/android/support/v7/widget/SnapHelper#onFling(int, int))and handle fling manually.

## Summary

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

|                                                                                                                                                                                                                                                                                                                                                           ### Public methods                                                                                                                                                                                                                                                                                                                                                            ||
|------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` 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.                                                                                                                                                                                                                                                                                                                                                                             |
| ` 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.                                                                                                                                                                                                                                                                                                                                                                                                                      |

|                                                                                                                                                                                                                                                                                                                                             ### Protected methods                                                                                                                                                                                                                                                                                                                                              ||
|---------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` `[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.* |

| ### Inherited methods |
|-----------------------|---|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v7/widget/SnapHelper#)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/SnapHelper#)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

### SnapHelper

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

```
SnapHelper ()
```

<br />

<br />

## Public methods

### attachToRecyclerView

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

```
void attachToRecyclerView (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)). You can call this method with`null`to detach it from the current RecyclerView.

<br />

|                                                                                  Parameters                                                                                   ||
|----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `recyclerView` | `RecyclerView`: The RecyclerView instance to which you want to add this helper or`null`if you want to remove SnapHelper from the current RecyclerView. <br /> |

|                                                                                                                                                 Throws                                                                                                                                                 ||
|----------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `IllegalArgumentException` | if there is already a[RecyclerView.OnFlingListener](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.OnFlingListener)attached to the provided[RecyclerView](https://developer.android.com/reference/android/support/v7/widget/RecyclerView). |
| `IllegalStateException`    |                                                                                                                                                                                                                                                                            |

### 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 /> |

### calculateScrollDistance

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

```
int[] calculateScrollDistance (int velocityX, 
                int velocityY)
```

Calculated the estimated scroll distance in each direction given velocities on both axes.

<br />

|                            Parameters                             ||
|-------------|------------------------------------------------------|
| `velocityX` | `int`: Fling velocity on the horizontal axis. <br /> |
| `velocityY` | `int`: Fling velocity on the vertical axis. <br />   |

|                                          Returns                                           ||
|---------|-----------------------------------------------------------------------------------|
| `int[]` | array holding the calculated distances in x and y directions respectively. <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 /> |

### onFling

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

```
boolean onFling (int velocityX, 
                int velocityY)
```

Override this to handle a fling given the velocities in both x and y directions. Note that this method will only be called if the associated[RecyclerView.LayoutManager](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutManager)supports scrolling and the fling is not handled by nested scrolls first.

<br />

|                         Parameters                          ||
|-------------|------------------------------------------------|
| `velocityX` | `int`: the fling velocity on the X axis <br /> |
| `velocityY` | `int`: the fling velocity on the Y axis <br /> |

|                              Returns                              ||
|-----------|--------------------------------------------------------|
| `boolean` | true if the fling was handled, false otherwise. <br /> |

## Protected methods

### createScroller

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

```
RecyclerView.SmoothScroller createScroller (RecyclerView.LayoutManager layoutManager)
```

Creates a scroller to be used in the snapping implementation.

<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                                                                                                                                               ||
|------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [RecyclerView.SmoothScroller](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.SmoothScroller) | a[RecyclerView.SmoothScroller](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.SmoothScroller)which will handle the scrolling. <br /> |

### createSnapScroller

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

```
LinearSmoothScroller createSnapScroller (RecyclerView.LayoutManager layoutManager)
```

<br />

**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.

Creates a scroller to be used in the snapping implementation.

<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                                                                                                                                 ||
|----------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------|
| [LinearSmoothScroller](https://developer.android.com/reference/android/support/v7/widget/LinearSmoothScroller) | a[LinearSmoothScroller](https://developer.android.com/reference/android/support/v7/widget/LinearSmoothScroller)which will handle the scrolling. <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)