Layouts и ViewGroups

Все взаимодействие пользователя с приложением Android осуществляется через пользовательский интерфейс (UI), поэтому очень важно понимать основы пользовательского интерфейса приложения Android. Мы уже узнали о различных View (представлениях), доступных в ОС Android, для создания различных компонентов пользовательского интерфейса вашего приложения для Android.

Но как вы расположите все эти компоненты представления, чтобы они упорядоченно отображались на экране устройства? Макеты Layouts используются для упорядочивания представлений на экране устройства.

ViewGroup является базовым классом для всех макетов и контейнеров представлений.


ViewGroup

ViewGroup — это специальное представление, которое может содержать другие представления. ViewGroup является базовым классом для макетов в Android, например LinearLayout, RelativeLayout, FrameLayout и т.п.

Другими словами, ViewGroup обычно используется для определения макета, в котором виджеты будут установлены на экране Android.

ViewGroups действует как невидимый контейнер, в который помещаются другие представления и макеты. Да, макет может содержать в себе другой макет, или, другими словами, ViewGroup может быть в другом ViewGroup.

Класс ViewGroup расширяет класс View.

Мы узнаем о макетах в следующих уроках.


Наиболее часто используемые типы макетов Android

  • ConstraintLayout
  • LineraLayout
  • RelativeLayout
  • Web View
  • TabularLayout
  • ListView
  • GridView

Да, ListView и GridView может действовать как View и как ViewGroup. Вы спросите, как? Хорошо, если мы воспользуемся ListView для отображения некоторых данных в виде списка, он действует как View. Но если мы используем его для создания списка какого-нибудь другого представления, например ImageView тогда он действует как ViewGroup.

Кроме того, подклассы ViewGroup расширяют класс ViewGroup, что, в свою очередь, расширяет класс View, так что в некотором смысле все ViewGroup подклассы на самом деле являются представлениями с некоторыми дополнительными функциями.


Программный и декларативный подход

Чтобы создать и определить View или ViewGroup в вашем приложении Android, есть два возможных способа:

  • Программный подход: Здесь мы определяем и создаем наши View в исходном файле Java. Подробнее об этом подходе мы узнаем позже, а сейчас вот пример кода для добавления кнопки в наше представление:
Button myButton = new Button(this); 
myButton.setLayoutParams(new LinearLayout.
LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT)); myLayout.addView(myButton); 

addView() это функция, используемая для добавления любого представления в пользовательский интерфейс, а setLayoutParams() функция используется для установки различных атрибутов.

  • Декларативный подход: Здесь мы определяем View и ViewGroups непосредственно в XML-файлах проекта, как мы будем делать в следующих нескольких уроках, где мы будем изучать различные часто используемые представления.

В следующих уроках мы узнаем о каждом из популярных типов макетов, о том, как их можно использовать для упорядочивания различных компонентов View, тем самым определяя пользовательский интерфейс вашего Android приложения.


Поделись с друзьями:

Оставьте комментарий