моб разраб. Лабораторные работы с 1 по 21. Лабораторная работа Использование значений строк и цветов
Скачать 5.49 Mb.
|
Пользовательский интерфейсОсновные понятия и связи между ними Представления (View) являются базовым классом для все визуальных элементов UI (элементов управления (Control) и виджетов (Widget)). Все эти элементы, в том числе и разметка (Layout), являются расширениями класса View. Группы Представлений (ViewGroup) – потомки класса View; могут содержать в себе несколько дочерних Представлений. Расширение класса ViewGroup используется для создания сложных Представлений, состоящих из взаимосвязанных компонентов. Класс ViewGroup также является базовым для различных Разметок (Layout). Активности (Activity) – отображаемые экраны или окна (с точки зрения построения UI), являются «андроидными эквивалентами» форм. Для отображения UI Активности используют Представления (как правило, Разметки (Layout)). Для создания приложений с уникальными интерфейсом разработчику иногда приходится расширять и модифицировать стандартные Представления, комбинируя их со стандартными. Представления (View) Android предоставляет разработчику возможность использования богатого набора готовых Представлений: TextView. Стандартный элемент, предназначенный для вывода текста. Поддерживает многострочное отображение, форматирование и автоматический перенос. EditText. Редактируемое поле для ввода текста. Поддерживает многострочный ввод, перенос слов на новую строку и и текст подсказки. ListView. Группа представлений (ViewGroup), которая формирует вертикальный список элементов, отображая их в виде строк внутри списка. Простейший объект ListView использует TextView для вывода на экран значений toString(), принадлежащих элементом массива. Spinner. Составной элемент, отображающий TextView в сочетании с соответствующим ListView, которое позволяет выбрать элемент списка для отображения в текстовой строке. Сама строка состоит из объекта TextView и кнопки, при нажатии на которую всплывает диалог выбора. Внешне этот элемент напоминает тэг Представление (View). При этом переходы между отображающимися элементами осуществляются с помощью анимации. Android предлагает и более продвинутые реализации Представлений, такие, как элементы для выбора даты и времени, поля ввода с автоматическим дополнением, галереи, вкладки и даже карты (MapView). Кроме готовых Представлений, разработчик, при необходимости, может создавать собственные, расширяя класс View или его подклассы. Разметка (Layout) Разметка (Layout) является расширением класса ViewGroup и используется для размещения дочерних компонентов на экране устройства. Используя вложенные Разметки, можно создавать пользовательские интерфейсы любой сложности. Наиболее часто используемые виды Разметки: FrameLayout. Самая простая разметка, прикрепляет каждое новое дочернее Представление к левому верхнему углу экрана, накладывая новый элемент на предыдущий, заслоняя его. LinearLayout. Помещает дочерние Представления в горизонтальный или вертикальный ряд. Вертикальная разметка представляет собой колонку, а горизонтальная – строку с элементами. Данная разметка позволяет задавать не только размеры, но и «относительный вес» дочерних элементов, благодаря чему можно гибко контролировать их размещение на экране. RelativeLayout. Наиболее гибкий среди стандартных видов разметки. Позволяет указывать позиции дочерних Представлений относительно границ свободного пространства и других Представлений. TableLayout. Позволяет размещать дочерние Представления внутри ячеек «сетки», состоящей из строк и столбцов. Размеры ячеек могут оставаться постоянными или автоматически растягиваться при необходимости. Gallery. Представляет элементы в виде прокручиваемого горизонтального списка (обычно графические элементы). Наиболее предпочтительный способ реализации разметки экрана – использование внешних ресурсов: XML-файлов, описывающих размещение элементов на экране и их параметры. Мы уже работали с содержимым файла res/layout/main.xml для изменения внешнего вида приложения HelloAndroidWorld, а теперь подробнее рассмотрим его содержимое: "1.0" encoding="utf-8"?> android:orientation="vertical" > android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" android:textColor="@color/text_color"/> Корневым элементом нашей разметки является <LinearLayout>, имеющий один дочерний элемент <TextView>. Атрибуты <LinearLayout> определяют пространство имен «android»(xmlns:android="http://schemas.android.com/apk/res/android"), ширину (android:layout_width), высоту (android:layout_height) и ориентацию (android:orientation), которая определяет способ размещения дочерних элементов внутри LinearLayout: вертикально или горизонтально. Обратите внимание на относительное (относительно размеров родительского элемента), а не абсолютное (в пикселях) задание размеров (ширины и высоты). Такой способ определения размеров является предпочтительным и позволяет создавать дизайн приложений, слабо зависящий от размеров экрана устройства. Элемент «text_color». |