Android UI elements can be configured to draw shadows using elevation property. Elevation of a view can be set in code by calling setElevation method and in xml using elevation attribute.
If you want to refresh content in a view on any screen in your android app, then use swipe refresh layout widget. Android support library provides swipe refresh layout widget which allows displaying new content on vertical swipe.
Floating action button (FAB) is used to provide primary action as circle on screen and it is displayed above the UI. Floating action button widget is provided as a part of design support library.
Android CardView supports material design guidelines. Card view is a frame layout which can be configured to be round cornered view with shadow.
Recycler view widget is an enhanced version of list view with advanced features. It lets you display large data set efficiently. The efficiency is achieved by reusing item views and not performing or reducing findByView operations.
Bottom sheet is displayed at bottom of the screen. A view can be displayed as bottom sheet by attaching bottom sheet behavior to it. Bottom sheet behavior extends Behavior which has methods that coordinator layout calls to provide behavior to child views in response to motion events and positional changes of child views.
CollapsingToolbarLayout is provided to help in creating toolbars that follow material design. It is a wrapper for tool bar adding additional features to toolbar in the coordinator layout and app bar layout context.
App bar layout is provided as part of design support library. It is a linear vertical layout with extra features that enable development of android applications which follow material design guidelines. To fully utilize the functionality of app bar layout, it should be used as a direct child of coordinator layout.
CoordinatorLayout is provided as part of design support library to enable the implementation of material design guidelines in android applications. Coordinator layout is a frame layout with extra capabilities and features.
NavigationView widget is a part of design library and it follows material design guidelines. NavigationView component is mainly used with DrawerLayout to provide navigation drawer menu that follows material design.
Navigation drawer contains list of actions or menu items, which help users navigate thruogh your application. Panel containing list of actions in navigation drawer is hidden. With swipe or clicking an icon, user can open or close navigation drawer to view the list of actions.
Context menu is one type of menu that can be implemented in android applications to show list of actions to users. Context menus are used to display actions which are related to a specific UI element.
Menus in any type of application help users see list of actions that user can do at application level, page level and element level. Androids provides menu API for implementing menus in android apps.
You can create swipe view feature in your android app to allow users of your app to flip right or left to view through pages of your app. Android framework provides ViewPager class to implement swipe view or flip view functionality. ViewPager class works with pager adapter which provides pages.
Showing next and related actions on a screen is important to allow users to navigate thru hierarchy of screens to perform a task. There are several types of navigational patterns, such as navigation drawers, tabs and bottom navigation bar, to be followed to provide best user experience.
The purpose of ActionProvider is to provide actions on app bar. ActionProvider can be a button or a menu item. When ActionProvider button or menu item is clicked, ActionProvider provides further layout and behavior.
Action bar is the place where important actions are placed so that user can easily find and perform actions. Action bar can be further enhanced with action views.
There are many situations in android apps where you want to display messages to users without impacting the usability of the screen which user is working on. Android provided message widget called Snackbar can be used to accomplish that objective.
App or action bar is used to display app identity, user location within the app, important actions and navigational capabilities.
In your app, there could be certain screens on which only part of information needs to be updated on certain events. Or, to provide good user experience, you may want to display extra information on large screen devices whereas the same information is displayed on multiple screens on the small screen devices.