In android studio, in design section, Layouts and Containers are categorized separately.
What is the fundamental difference between them?
I would define the differences as follows:
- Layouts are general-purpose
ViewGroupsdealing directly with graphical views. They have no requirements on what kind of children they can manage.
- Containers fulfill more specific tasks, that’s why they have additional requirements on how many and which kind of children they can accept. Because of that most containers require writing
Adapterclasses in order to express those requirements.
Layouts all directly extend
Layout suffix is part of the class name for classes in this group, e.g.
Containers is a bucket description for
Views that wrap dynamic content. They are more specialized than
Layouts and can but don’t have to extend a
Layout. Some extend
ViewGroup indirectly e.g
ListView, some don’t e.g.
Container label is used in Android Studio but is not part of the class name.
A container is a view used to contain other views. Android offers a collection of view classes that act as containers for views. These container classes are called layouts, and as the name suggests, they decide the organization, size, and position of their children views.
Layouts are basically containers for other items known as Views, which are displayed on the screen. Layouts help manage and arrange views as well. Layouts are defined in the form of XML files that cannot be changed by our code during runtime.