Вызов на рабочее поле палитры Palette. Ее общий состав. Свойства элементов
Лабораторная работа № 2 Графический И программный способы проектирования элементов приложений
Цель: Освоить методы графического проектирования управляющих элементов форм с помощью средств вкладок Палитра (Palette) и Свойства (Properties).
Вначале рассмотрим, каким образом в проекте Hello World можно изменить надпись на единственном элементе экрана, имеющем тип label. Для этого щелкаем по названию файла string.xml в строке над рабочим полем и открываем его текст. В нем набираем вместо слов Hellow World слова Первый проект (рис.2.1).
Рис.2.1. Переименования названия метки в тексте файла string.xml
Теперь именно эти слова будут демонстрироваться вместе с изображением устройства (рис.2.2).
Вызов на рабочее поле палитры Palette. Ее общий состав. Свойства элементов
Для вызова на рабочее поле изображения устройства и палитры Palette необходимо вызвать Preview. При этом на рабочем поле появится изображения устройства, а внизу появляются две кнопки – Design и Text. Необходимо щелкнуть по кнопке Design, после чего на рабочем поле появится изображение палитры Palette (рис.2.2).
Рис.2.2. Вид рабочего поля после вызова на рабочее поле изображения устройства и палитры Palette
Во вкладке Palette содержится набор элементов приложений, которые позволяют как формировать общий вид его формы, так и выполнять все необходимые действия – ввод/вывод текста и изображений, расчеты и др. Эти элементы можно передавать на форму простым перетаскиванием при помощи мыши. Базовые операции над ними (Сut, Copy и др.) можно выполнить после нажатия правой кнопки мыши и указания в появляющемся меню (рис.2.2).
Свойства элементов раскрываются в крайней правой вкладке рабочей области (рис.2.2). На панели Paletteнаходятся следующие группы элементов пользовательского интерфейса.
1. Layouts– макеты, планы, задающие общий фон некоторого контейнера (это может быть вся сцена или только ее часть) и (возможно) способы размещения на ней других (дочерних) элементов.
2. Widgets– управляющие элементы (кнопки, списки, ползунки), с помощью которых пользователь непосредственно выполняет все необходимые действия. Данную группу элементов также называют управляющими (control).
3. Text Fields– текстовые поля, через которые производится ввод/вывод необходимых текстов.
4. Containers– контейнеры с элементами управления.
5. Date&Time– часы, таймеры, календари.
6. Expert–средства проверки и контроля.
7. Custom– настройки.
Группы сворачиваются и разворачиваются при щелчке на условных изображениях их экранов.
Соотношение между элементами интерфейса следующее. Макет из группы Layouts задает общие правила построения графического диалогового окна, а управляющие элементы из группы Widgets и текстовые поля из группы Text Fields позволяют выполнять все необходимые операции в нем. Последние 4 группы используются для выполнения вспомогательных действий.
Все элементы имеют общие стандартные свойства: координаты положения на экране, ширина, высота, цвет и др., смысл которых понятен из их названий. Однако помимо них используются и другие свойства с помощью которых можно определять способы задания размеров и относительного положения дочерних элементов. Рассмотрим их.
Свойство Weight (вес) применяется для ранжирования элементов формы по их значимости в контейнере. Допустим, в некотором контейнере находятся три элемента управления: у первого вес равен 1, у двух других - 0. В этом случае элемент с весом 1 займет в контейнере все свободное пространство. В случае распределения весов между элементами 2 и 1 первый займет 2/3 части экрана, а второй - оставшуюся 1/3 часть. Использование атрибута android:weightSumпозволяет переопределить расчёт весов. Например, установить сумму в значение 1 и у дочерних элементов использовать значения от 0.0 до 1.0.
Свойствоgravity (тяжесть, притяжение) - означает ориентация в контейнере (alignment). Например, если требуется выровнять текст надписи по правому краю, то свойство gravity будет иметь значение right. Набор значений для gravity достаточно ограничен: left, center, right, top, bottom, center_vertiсаl, сliр_horizontal и еще некоторые другие. В Android есть два сходных атрибута выравнивания: android: gravity и android: layout_gravity. Разница заключается в том, что android: gravity - это настройка, используемая видом, а android: layout_gravity применяется контейнером. Например, можно установить для android: gravity значение center, чтобы текст в EditText был выровнен по центру. Аналогичным образом можно выровнять EditText по правому краю LinearLayout (который является контейнером), установив android: layout_gravity="right".
Tag (атрибут android:tag) – это тег, в котором можно храненить промежуточные данных элементов. Также теги можно устанавливать программно.
Наложение двух элементов.Можно использовать не только положительные, но и отрицательные значения для атрибута layout_marginBottom или родственных ему. При этом можно наблюдать эффект, когда следующий элемент будет "наезжать" на текущий элемент.
Идентификаторы.Тем элементам, к которым предусматривается обращение в программном коде, нужно обязательно присваивать идентификаторы. Кроме того, они помогут сохранить состояние при поворотах: текст в текстовых полях, статус переключателей и т.д.