Android's updated layout editor tools promise to significantly change the way application developers build user interfaces. At the core of this new paradigm is the ConstraintLayout container. Constraint-based layouts are not new to Android developers, but the flexibility of this new container promises to flatten complex view hierarchies and reduce nesting. In this session, we will examine the layout engine ConstraintLayout uses in order to understand exactly how this new component works. You will see how the new layout tools define constraints, what kinds of constraints are supported, and how ConstraintLayout processes them to position views.