ConstraintLayout is a layout on Android that gives you adaptable and flexible ways to create views for your apps.
ConstraintLayout, which is now the default layout in Android Studio, gives you many ways to place objects. You can constrain them to their container, to each other or to guidelines. This allows you to create large, complex, dynamic and responsive views in a flat hierarchy. It even supports animations!