# Getting started with Material Components for Android Take a look at our [guide](https://medium.com/androiddevelopers/migrating-to-material-components-for-android-ec6757795351) that helps you migrate your codebase from the Design Support Library to Material Components for Android. ### 1. Depend on our library Material Components for Android is available through Google's Maven Repository. To use it: 1. Open the `build.gradle` file for your application. 2. Make sure that the `repositories` section includes Google's Maven Repository `google()`. For example: ```groovy allprojects { repositories { google() jcenter() } } ``` 3. Add the library to the `dependencies` section: ```groovy dependencies { // ... implementation 'com.google.android.material:material:' // ... } ``` Visit [Google's Maven Repository](https://maven.google.com/web/index.html#com.google.android.material:material) or [MVN Repository](https://mvnrepository.com/artifact/com.google.android.material/material) to find the latest version of the library. ##### New Namespace and AndroidX If your app currently depends on the original Design Support Library, you can make use of the [`Refactor to AndroidX…`](https://developer.android.com/jetpack/androidx/migrate) option provided by Android Studio. Doing so will update your app's dependencies and code to use the newly packaged `androidx` and `com.google.android.material` libraries. If you don't want to switch over to the new `androidx` and `com.google.android.material` packages yet, you can use Material Components via the `com.android.support:design:28.0.0` dependency. Note: You should not use the `com.android.support` and `com.google.android.material` dependencies in your app at the same time. ### 2. Compile your app with Android 10 In order to use Material Components for Android, and the latest versions of the Support Libraries, you will have to install Android Studio 3.5 or higher to build with Android 10, and update your app's `compileSdkVersion` to `29`. ### 3. Ensure you are using `AppCompatActivity` Using `AppCompatActivity` will ensure that all the components work correctly. If you are unable to extend from `AppCompatActivity`, update your activities to use `AppCompatDelegate`. This will enable the `AppCompat` versions of components to be inflated among other important things. ### 4. Change your app theme to inherit from a Material Components theme Doing an app-wide migration by changing your app theme to inherit from a Material Components theme is the recommended approach. However, be sure to test thoroughly afterwards, as components in existing layouts may change their looks and behavior. Note: If you **can't** change your theme, you can do one of the following: * Inherit from one of our Material Components **Bridge** themes. See the [**Bridge Themes**](#bridge-themes) section for more details. * Continue to inherit from an AppCompat theme and add some new theme attributes to your theme. See the [**App Compat Themes**](#app-compat-themes) section for more details. #### **Material Components themes** The following is the list of Material Components themes you can use to get the latest component styles and theme-level attributes. * `Theme.MaterialComponents` * `Theme.MaterialComponents.NoActionBar` * `Theme.MaterialComponents.Light` * `Theme.MaterialComponents.Light.NoActionBar` * `Theme.MaterialComponents.Light.DarkActionBar` * `Theme.MaterialComponents.DayNight` * `Theme.MaterialComponents.DayNight.NoActionBar` * `Theme.MaterialComponents.DayNight.DarkActionBar` Update your app theme to inherit from one of these themes, e.g.: ```xml ``` For more information on how to set up theme-level attributes for your app, take a look at our [Theming](theming.md) guide, as well as our [Dark Theme](theming/Dark.md) guide for why it's important to inherit from the `DayNight` theme. Note: Using a Material Components theme enables a custom view inflater which replaces default components with their Material counterparts. Currently, this only replaces `