В среде AppInventor в качестве функциональных элементов приложения используются компоненты. Это ни что иное, как элементы меню Palette – например, Button (кнопка) или Label (текстовое поле), комбинируя которые, вы и создаёте приложение Android.
Сразу надо заметить, что компоненты могут быть отображаемыми на экране и неотображаемыми, например, Clock – часы, таймер, который просто ведёт отсчет времени (не путайте с часами, которые вы, возможно, захотите разместить на экране – их вам придется составлять из других компонентов, при этом используя Clock для счета времени. Пока на этом не заморачивайтесь.)
Для удобства компоненты разбиты на несколько категорий:
User Interface – базовые компоненты, которые и составляют основу дизайна приложения. Здесь вы найдёте: кнопку, текстовое поле, поле для ввода текста ил даты, изображение и тому подобные элементы;
Layout – компоненты-таблицы или контейнеры. Эти инструменты позволяют позиционировать другие компоненты на экране. По умолчанию, на экране компоненты размещаются одни под другим. Контейнеры же представляют собой таблицы, в ячейках которых и можно размещать нужные вам видимые компоненты;
Media – здесь находятся такие компоненты как видеокамера, звукозапись, видео- и аудиопроигрыватель, преобразование текста в речь и подобные им;
Drawing and Animation – компоненты, которые позволяют работать с изображениями и анимацией;
Sensors – из названия понятно, что это компоненты, управляющие сенсорами вашего андроидного устройства – таймер, GPS, акселерометр и прочими.
Social – компоненты, относящиеся к социальной области – доступ к контактам телефона, подключение к соц. Сетям;
Storage – здесь находятся очень важные компоненты, позволяющие управлять данными и базами данных приложения.
Connectivity – компоненты, отвечающие за связь приложения с внешними устройствами и программами, например, Bluetooth
LEGO MINDSTORMS – компоненты, обеспечивающие управление роботами из конструкторов LEGO.
Задействовать все эти компоненты в приложении очень просто – надо просто мышкой перетащить их на экран приложения.
Каждый компонент имеет свои свойства, например, цвет, значение, и обработчики событий, то есть то, что должно происходить в приложении, когда с компонентом производятся какие-либо действия.
Часть свойств можно изменять на рабочем столе «Design», в области «Properties», а другую часть – в редакторе блоков “Blocks”.
Обработчиками событий управляют в редакторе блоков.
Ещё полезным (если владеете английским) может оказаться значок «?» рядом с каждым компонентом в области “Palette”. При нажатии на него появляется краткая справка о компоненте и ссылка на полную информацию по нему. Впрочем, постараюсь в последующих статьях описать максимально полно наиболее важные компоненты.
Теперь немного об управлении компонентами в редакторе “Design”. Здесь и далее изображения из примера разработки приложения “Clock”.
В области “Components” находится список всех используемых компонентов. Выбор возможных действий, в общем, невелик: “Rename” – переименовать, “Delete” – удалить. Важно учесть, что при удалении контейнера (в рассматриваемом примере – HorizonalArrangement1) удалятся и все содержащиеся в нём компоненты. И ещё: название компонента может быть написано, как латиницей, так и кириллицей, но без пробелов, иначе App Inventor будет ругаться.
Да, стоит отметить ещё область “Media” – она, пожалуй, не стоит отдельно статьи, но упомянуть необходимо. Здесь находятся все используемые медиа-элементы: изображения, звуки и пр. Например, в рассматриваемом приложении “Clock” – изображение для фона time.jpg.
Здесь же хочу ещё затронуть те основные свойства компонентов, которые можно менять на рабочем столе “Design”. Сделаю это на примере свойств кнопки (кстати, свойства экрана можете посмотреть в посвященной им статье).
BackgroundColor – цвет фона кнопки
Enabled – кнопка включена или не работает (но видима)
Fontbold – жирный шрифт надписи на кнопке
Fontitalic – шрифт «италик» — наклонный
Fontsize – размер шрифта
FontTypeface – тип шрифта. Вообще, их не много.
Image – изображение на кнопке.
Shape – форма кнопки. Может быть классической прямоугольной формы, прямоугольной с закругленными углами и овалом
ShowFeedback – включение/выключение визуальной реакции на нажатие кнопки.
Text – текст на кнопке
TextAlignment – расположение текста на кнопке
TextColor – цвет текста
Visible – видимость компонента. Здесь можно отключить видимость – например, вам нужно, чтобы вначале кнопка была не видна и появлялась в результате каких-либо действий в приложении Android.
Widht, Height – ширина и высота компонента. Может выставляться как автоматическая, в размер всего экрана или с заданными размерами.
Свойства других компонентов , по большому счёту, сходны со свойствами кнопки. Свойства некоторых компонентов, будут рассмотрены в отдельных статьях.