In android studio, in design section, Layouts and Containers are categorized separately.
What is the fundamental difference between them?
Layouts
all directly extend ViewGroup
. The Layout
suffix is part of the class name for classes in this group, e.g. LinearLayout
, RelativeLayout
.
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. VideoView
. The 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.
I would define the differences as follows:
ViewGroups
dealing directly with graphical views. They have no requirements on what kind of children they can manage.Adapter
classes in order to express those requirements.