Основы создания интерфейса
Графический интерфейс пользователя представляет собой иерархию объектов android.view.View и android.view.ViewGroup. Каждый объект ViewGroup представляет контейнер, который содержит и упорядочивает дочерние объекты View. В частности, к контейнерам относят такие элементы, как RelativeLayout, LinearLayout, GridLayout, ConstraintLayout и ряд других.  Простые объекты View представляют собой элементы управления и прочие виджеты, например, кнопки, текстовые поля и т.д., через которые пользователь взаимодействует с программой:      Иерархия визуальных компонентов Большинство визуальных элементов, наследующихся от класса View, такие как кнопки, текстовые поля и другие, располагаются в пакете android.widget  Стратегии определения интерфейса
 Разметка определяет визуальную структуру пользовательского интерфейса. Установить разметку можно двумя способами: Создать элементы управления программно в коде java (пример) Объявить элементы интерфейса в XML* Сочетание обоих способов - базовые элементы разметки определить в XML, а остальные добавлять во время выполнения*