View objects are the basic units of user interface expression on the Android platform. The View class serves as the base for subclasses called "
widgets," which offer fully implemented UI objects, like text fields and buttons. A View object is a data structure whose properties store the
layout parameters and content for a specific
rectangular area of the screen. As an
object in the user interface, a View is also a point of interaction for the user and the
receiver
of the interaction events.
On the Android platform, you define an Activity's UI using a hierarchy of View and ViewGroup nodes,
as shown in the diagram below.
The ViewGroup class serves as the base for subclasses called "layouts,"
which offer different kinds of layout architecture, like linear, tabular and relative. The most common way to define your layout and express the view hierarchy is with an XML layout file.
XML offers a human-readable structure for the layout, much like HTML. Each element in XML is
either a View or ViewGroup object (or descendant thereof). View objects are leaves in the tree,
ViewGroup objects are branches in the tree
How Android Draws Views
When an Activity receives focus, it will be requested to draw its layout.
The Android framework will handle the procedure for drawing, but the Activity must provide
the root node of its layout hierarchy.
Drawing begins with the root node of the layout.
(source: developer.google.com)