Skip to content

Most visited

Recently visited


Support Library Features Guide

The Support Libraries provide a wide range of classes for building apps, from fundamental app components, to user interface widgets, to media handling, to TV app components. Many of the classes are backward compatible implementations, but some of them are new features in their own right.

This document provides an overview of the important categories of features available in the support library, and specific classes you should know about when building your app.

For information about how to add support library code to your app development project, see Support Library Setup. For information on how to include specific support library packages in your project, see Support Library Packages.

App Components

These Support Library classes provide backward-compatible implementations of important, core platform features. These implementation typically extend earlier versions of the class to handle new methods and features added in more recent releases of the platform. Some of these classes are complete, static implementations of the framework APIs.

User Interface

These support library classes provide implementations of key user interface widgets and behaviors, and help you create more modern app interfaces on earlier devices. A few of these widgets are only available through the support library.

General-purpose layout containers

These support classes provide user interface containers that can be adapted for different design use cases.

Note: The ViewPager, RecyclerView, PercentFrameLayout and PercentRelativeLayout classes are only available from the Support Libraries.

Special-purpose layout containers

These support classes provide compatible implementations of specific layout patterns, such as drawer views that can be pulled from the edge of the screen, sliding panels, and nesting lists within lists.

Views, dialogs, and widgets

The support libraries provide a number of classes for displaying content and providing user interaction elements in a layout.

Material Design

The support libraries provide a number of classes for implementing Material Design user interface recommendations. Many of these classes are provided in the package.


The package provides support for vector drawables. By using vector drawables, you can replace multiple PNG assets with a single vector graphic, defined in XML.

VectorDrawableCompat provides support for vector drawables on API level 9 and above. AnimatedVectorDrawableCompat provides support for animated vector drawables on API level 11 and above.


The package provides compatibility classes for implementing accessibility features introduced in API level 14 and later, which allow accessibility services to observe and identify user interaction with items displayed on screen.

Media Playback

The Android Support Library provides a backport of the media router functionality to devices running versions of the platform earlier than Android 4.1 (API level 16). These classes allow control of media playback across connected Android devices:

TV Apps

The Android SDK provides libraries to support form factors such as large screens and their associated controllers. An app can depend on the appropriate support library to provide functionality across a wide range of platform versions, and can provide content on external screens, speakers, and other destination devices.

Wear Apps

The Android SDK provides libraries to support watches. These libraries provide functionality to apps that is available to users whenever they are wearing a watch.


The Android Support Library offers a number of features that are not built into the framework. These libraries offer a range of utilities that apps can use.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields


Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience. (April 2018 — Developer Survey)