Try the Compose way
Jetpack Compose is the recommended UI toolkit for Android. Learn how to work with theming in Compose.

Material design is a comprehensive guide for visual, motion, and interaction design across platforms and devices. To use material design in your Android apps, follow the guidelines defined in the material design specification and use the new components and styles available in the material design support library. This page provides an overview of the patterns and APIs you should use.
Android provides the following features to help you build material design apps:
To take advantage of the material features such as styling for standard UI widgets, and to streamline your app's style definition, apply a material-based theme to your app.
Dark material theme
Light material theme
For more information, see how to apply the material theme.
To provide your users a familiar experience, use material's most common UX patterns:
And whenever possible, use predefined material icons. For example, the navigation "menu" button for your navigation drawer should use the standard "hamburger" icon. See Material Design Icons for a list of available icons. You can also import SVG icons from the material icon library with Android Studio's Vector Asset Studio.
In addition to the X and Y properties, views in Android have a Z property. This new property represents the elevation of a view, which determines:
Elevation is often applied when your layout includes a card-based layout, which
helps you display important pieces of information inside cards that provide a material look.
You can use the CardView
widget to create cards with
a default elevation. For more information, see
Create a Card-Based Layout.
For information about adding elevation to other views, see Create Shadows and Clip Views.
The new animation APIs let you create custom animations for touch feedback in UI controls, changes in view state, and activity transitions.
These APIs let you:
Touch feedback animations are built into several standard views, such as buttons. The new APIs let you customize these animations and add them to your custom views.
For more information, see Animations Overview.
These new capabilities for drawables help you implement material design apps:
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2023-06-02 UTC.