The Android Developer Challenge is back! Submit your idea before December 2.

Обзор пользовательского интерфейса

Все элементы интерфейса пользователя в приложении Android создаются с помощью объектов View и ViewGroup. Объект View формирует на экране элемент, с которым пользователь может взаимодействовать. Объект ViewGroup содержит другие объекты ViewViewGroup) для определения макета интерфейса.

Android предоставляет коллекцию подклассов View и ViewGroup, которая включает в себя обычные элементы ввода (такие как кнопки и текстовые поля) и различные модели макет (такие как линейный или относительный макет).

Макеты пользовательского интерфейса

Пользовательский интерфейс для каждого компонента вашего приложения определяется с помощью иерархии объектов View и ViewGroup, как показано на рисунке 1. Каждая группа просмотра представляет собой невидимый контейнер, в котором объединены дочерние виды, причем дочерние виды могут представлять собой элементы ввода или другие виджеты, которые составляют часть пользовательского интерфейса. Эта древовидная иерархия может быть настолько простой или сложной, насколько требуется (чем проще, тем лучше для производительности).

Рисунок 1. Иллюстрация иерархии, которая определяет макет интерфейса.

Чтобы объявить свой макет, можно создать экземпляры объектов View в коде и запустить построение дерева, но самый простой и наиболее эффективный способ — определение макета с помощью файла XML. XML позволяет создавать удобочитаемую структуру макета, подобно HTML.

Имя элемента XML для вида соответствует классу Android, к которому от относится. Так, элемент <TextView> создает виджет TextView в пользовательском интерфейсе, а элемент <LinearLayout> создает группу просмотра LinearLayout .

Например, простой вертикальный макет с текстом и кнопкой выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:orientation="vertical" >
    <TextView android:id="@+id/text"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="I am a TextView" />
    <Button android:id="@+id/button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="I am a Button" />
</LinearLayout>

При загрузке ресурсов макетов в приложение Android инициализирует каждый узел макета в объект режима выполнения, который можно использовать для определения дополнительного поведения, запроса состояния объекта или изменения макета.

Полное руководство по созданию макета пользовательского интерфейса см. в документе Макеты XML.

Компоненты пользовательского интерфейса

Не обязательно создавать все элементы пользовательского интерфейса с помощью объектов View и ViewGroup. Android предоставляет несколько компонентов приложений, которые содержат стандартный макет пользовательского интерфейса, где остается лишь определить содержимое. Каждый из этих компонентов пользовательского интерфейса содержит уникальный набор API, который описан в соответствующих документах, таких как Строка действий, Диалоги и Уведомления о состоянии.