Элементы разметки
1.2.1. Объявление документа XML
Первый элемент – объявление документа XML – сообщает текстовому редактору Eclipse и операционной системе Android, что это файл XML, а также указывает версию XML и кодировку файла.
<?xml version="1.0" encoding="utf-8"?>
1.2.2. Тип компоновки
При создании пользовательского интерфейса нужно его визуальные элементы разместить на экране. Они могут размещаться линейно – один за другим по горизонтали или по вертикали или в виде таблицы, а иногда необходимо задавать точные координаты каждого элемента (точное позиционирование).
Рисунок 29 – Редактирование интерфейса пользователя в графическом режиме
Разработчики Android создали множество инструментов, позволяющих применять разные типы компоновки. Каждому типу компоновки соответствует определённый класс Java, каждому из которых соответствует определённый дескриптор XML.
Таблица 1 содержит наиболее популярные типы компоновок, доступные в Android SDK.
Таблица 1 – Типы компоновок
Имя класса | Описание |
LinearLayout | Дочерние элементы контейнера размещаются в один ряд. |
RelativeLayout | Позиции дочерних элементов определяются по отношению друг к другу или родительскому элементу. |
FrameLayout | Этот контейнер блокирует часть экрана для отображения единственного элемента. В него можно добавить много дочерних элементов, но все они будут пристыкованы к левому верхнему углу контейнера, и ранее прорисованные элементы будут перекрываться более поздними. |
TableLayout | Дочерние элементы размещаются в ячейках таблицы. |
Рисунок 30 – Редактирование интерфейса пользователя в режиме XML
Пример дескрипторов XML, задающих линейную компоновку дочерних элементов:
<LinearLayout xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
> // Открывающий дескриптор
// Дочерние элементы
</LinearLayout> // Закрывающий дескриптор
В примере первая строка «xmlns:android=…» определяет пространство имён XML, используемое для ссылки на компоненты Android SDK. Остальные строки определяют атрибуты компоновки.
1.2.3. Атрибуты компоновки
Основными атрибутами являются:
· android:orientation - ориентация на экране принимает значения "vertical" и "horozontal";
· android:layout_width - ширина компоновки;
· android:layout_height - высота компоновки. Параметры ширины и высоты могут принимать точно определённые значения (например, в пикселах) или предопределённые строковые значения, самые распространённые из которых "fill_parent" (заполнить всё доступное пространство) и "wrap_content" (сворачивать содержимое);
· android:background - задает цвет (градиент) фона;
· android:layout_marginTop - определяет отступ элемента от соседних элементов сверху в единицах размера;
· android:layout_marginLeft - определяет отступ элемента от соседних элементов слева в единицах размера;
· android:layout_marginRight - определяет отступ элемента от соседних элементов справа в единицах размера;
· android:layout_marginBottom - определяет отступ элемента от соседних элементов снизу в единицах размера;
· android:layout_gravity - определяет, как элементы позиционируются внутри родительского элемента (top, bottom, left, right, center). Значение у элемента может быть одно или несколько (тогда они разделяются «|»).