Learn ConstraintLayout: ConstraintLayout Tutorial for Android
I am Amit Shekhar, Co-Founder @ Outcome School, I have taught and mentored many developers, and their efforts landed them high-paying tech jobs, helped many tech companies in solving their unique problems, and created many open-source libraries being used by top companies. I am passionate about sharing knowledge through open-source, blogs, and videos.
What is ConstraintLayout?
A ConstraintLayout is a ViewGroup which allows you to position and size widgets in a flexible way.
ConstraintLayout
allows you to create large and complex layouts with a flat view hierarchy means there are no nested view groups. It's similar to RelativeLayout
in that, all views are laid out according to relationships between sibling views and the parent layout, but it's more flexible than RelativeLayout
and easier to use with Android Studio's Layout Editor.
All the power of ConstraintLayout
is available directly from the Layout Editor's visual tools, because the layout API and the Layout Editor were specially built for each other. So you can build your layout with ConstraintLayout
entirely by drag-and-dropping instead of editing the XML.
Now let’s start learning the ConstraintLayout
Add ConstraintLayout to your project
To use ConstraintLayout
in your project, proceed as follows:
Add the library as a dependency in the same build.gradle
file, as shown in the example below. Note that the latest version might be different than what is shown in the example:
dependencies {
androidx.constraintlayout:constraintlayout:1.1.2
}
We have created two video tutorials on the ConstraintLayout to make the learning very simple for you.
Here is the first part.
The first part covers the following:
- What is ConstraintLayout?
- Motivation to use ConstraintLayout: Reduces Nesting of ViewGroups & Easier Maintenance
- Terminology: Constraints, Anchor Points or Constraints Handles and Base Anchor Point
- Types of Constraints: Relative Positioning, Center Positioning, and Bias, Circular Positioning, Dimension Positioning, Chains
- Dimension Constraints: Hardcode value in dp, WRAP_CONTENT, and MATCH_CONSTRAINT
Here is the second part.
The second part covers the following:
Virtual Helper Object in ConstraintLayout are special widgets that don’t really take part in the layout, yet, they enhance other widgets’ behavior.
The Virtual Helper Objects are as follows:
- Guideline
- Barrier
- Group
So, these things are covered in the video tutorials. I am sure that these videos will help you in learning ConstraintLayout.
Happy Learning :)
Prepare yourself for Android Interview: Android Interview Questions
You can find the Roadmap for Android Developer here: Android Developer Roadmap
Also, Let’s become friends on Twitter, Linkedin, Github, Quora, and Facebook.
Clap, share if you like it and follow me for the updates.