- •Введение
- •Описание инструментария разработки
- •Установка Android sdk
- •Установка adt для Eclipse
- •Создание проекта
- •Лабораторная работа №4 создание простых приложений для операционной системы android на основе встроенных шаблонов
- •Создание простого проекта Android
- •Первое приложение
- •Создание виртуального устройства Android
- •Структура каталогов проекта
- •Запуск приложения
- •Создание демонстрационного проекта Android
- •Лабораторная работа №5 разработка графического интерфейса пользователя и обработчиков событий элементов управления
- •Разметка пользовательского интерфейса
- •Редактирование пользовательского интерфейса
- •Элементы разметки
- •Виджеты (представления)
- •Другие типы виджетов
- •Обработчики событий для элементов управления
- •Использование атрибута onClick и обработчика события onClick()
- •Работа с полями ввода текста
- •Работа с текстом
- •Лабораторная работа №6 создание приложения с использованием класса audiomanager
- •Графический интерфейс пользователя
- •Код приложения
Разметка пользовательского интерфейса
Содержимое файла XML однозначно определяет внешний вид пользовательского интерфейса.
XML - расширяемый язык разметки (англ. Extensible Markup Language). Файл XML - документ, в котором использованы теги (дескрипторы) для определения объектов и их атрибутов. Форматирование данных напоминает язык разметки HTML-документов. Но в отличие от HTML, в XML используются теги, которые задаются пользователями. XML элемент состоит из открывающего и закрывающего тегов, заключённых в угловые скобки, между которыми находится текст или другие объекты. Пример:
<resources> // открывающий дескриптор
<string name="app_name">Hello, Android</string>
<string name="hello_world">Hello world!</string>
<string name="menu_settings">Settings</string>
</resources> // закрывающий дескриптор
Дескриптор может содержать атрибуты. Атрибуты определяют такие свойства элементов как цвет, выравнивание, размер и т.д. В примере атрибутом является строка: name="app_name".
Редактирование пользовательского интерфейса
Eclipse предлагает два способа редактирования интерфейса: в графическом режиме (вкладка Graphical Layout) см. рисунок 29 и в текстовом режиме (вкладка *.xml) см. рисунок 30.
Для вставки и размещения элементов управления на экране мобильного устройства удобно использовать графический режим, а для задания свойств элементов разметки и управления – текстовый. Хотя каждый разработчик выбирает для себя способ воплощения своих идей.
Элементы разметки
Объявление документа XML
Первый элемент – объявление документа XML – сообщает текстовому редактору Eclipse и операционной системе Android, что это файл XML, а также указывает версию XML и кодировку файла.
<?xml version="1.0" encoding="utf-8"?>
Тип компоновки
При создании пользовательского интерфейса нужно его визуальные элементы разместить на экране. Они могут размещаться линейно – один за другим по горизонтали или по вертикали или в виде таблицы, а иногда необходимо задавать точные координаты каждого элемента (точное позиционирование).
Рисунок 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. Остальные строки определяют атрибуты компоновки.
Атрибуты компоновки
Основными атрибутами являются:
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). Значение у элемента может быть одно или несколько (тогда они разделяются «|»).
