DroidScript
DroidScript
учимся и разрабатываем

Свойства и методы активности в Sketchware

23.12.2017

После создания нового проекта в рабочем поле редактора вида отображается пустой макет главной активности приложения с панелью действий, на которой расположен заголовок ActionBar. Мобильное приложение может состоять из одной или нескольких активностей, каждая из которых представляет собой исполняемую единицу, имеющую жизненный цикл, и графическое представление в виде формы, на которой располагаются элементы интерфейса.

Выберите кнопку и попробуйте поместить её на панель действий макета. Это сделать не получится, в отличии от размещения кнопки на серой области под ней, которая является корневой формой активности. Посмотрим, что эта форма собой преставляет. В редакторе вида зайдите в меню, ссылка на которое находится на панели действий, и выберите пункт "Show Source code". На экране отобразится код разметки главной активности, находящийся в файле main.xml.

Исходный код главной активности

В коде расположен безымянный линейный компоновщик LinearLayout, который имеет вертикальное упорядочивание и будет занимать всё доступное ему пространство на экране. Принципиальное значение имеет то, что этот компоновщик не имеет идентификатора. Следовательно, невозможно получить доступ к его свойствам и, соответственно, невозможно выполнять групповые операции над элементами, расположенными на нём. Почему это важно? Договоримся корневой компоновщик называть формой, чтобы не возникло путницы.

Предположим, в целях ускорения создания вида на форму добавили 10 элементов. Если потребуется изменить фон под ними, сделать часть из них невидимыми или удалить их, то эти действия приведут к необходимости выполнения большого объёма работы, так как придётся её выполнять последовательно над каждым объектом по отдельности. В первом случае придётся на форму добавить компоновщик, изменить его фон и перетащить на него все элементы, во втором случае - изменить видимость каждого элемента, а в третьем - переместить в корзину каждый элемент. При размещении элементов в компоновщиках эти и другие операции потребуют на порядок меньше движений. По этой причине возьмите за правило добавлять элементы в компоновщики, а не на форму.

В нижней части редактора вида находится выпадающий список, предназначенный для переключения между активностями (вкладка VIEW), создания пользовательских видов (вкладка CUSTOM VIEW).

Редактор вида

Нажмите кнопку "+" для создания нуюного вида. При добавления активности нужно задать имя в поле View name и настроить её свойства:

  • StatusBar - переключатель использования в активности строки состояния
  • Toolbar - переключатель использования в активности панели инструментов
  • Drawer - переключатель использования в активности выдвижной панели
  • FAB - переключатель использования в активности плавающей кнопки действий
  • Screen Orientation (Portrait, Landscape или Both) - ориентация экрана (портретная, картинная или изменяемая)
  • Keyboard State (Unspecified, Visible или Hidden) - состояние клавиатуры при открытии активности, содержащей поле ввода (по умолчанию, видна или скрыта).

Создайте новую активность с выбранными параметрами. Перейдите на главную активность. Добавьте на форму компоновщик Layout(V) и кнопку в него, при нажатии на которую будет происходить переключение на новую активность. Выполните следующие действия:

  1. Перейдите на вкладку EVENT и cоздайте там новое намерение (компонент Intents), назвав его setView.
  2. Выберите событие onClick кнопки и в редакторе блоков присоедините к нему блоки Intent setScreen и StartActivity Intent из категории Component.
  3. Выберите в блоках намерение и вид.

Редактор вида

Запустите приложение для проверки переключения активности при нажатии на кнопку.

Все данные в активности имеют локальную область видимости и для передачи данных из одной активности в другую можно использовать файловый компонент File или намерение Intent.

Для передачи данных с использованием намерения воспользуйтесь блоком Intent putExtra key value, в который нужно поместить данные в виде пары ключ:значение. Для получения данных по ключу используйте блок Activity getExtra key.

Активности в Sketchware не имеют свойств, редактируемых в редакторе вида, но их заголовок можно изменить в редакторе блоков при помощи блока Acrivity set title.

Активности имеют обработчики для событий:

  • onCreate - при создание активности
  • onBackPressed - при нажатие на системную кнопку Back
  • onPostCreate - при окончание этапа загрузки и отображения активности
  • onStart - при перемещение активности на передний план (становится видимой)
  • onStop - при перемещении активности на задний план (становится невидимой)
Последовательность наступления событий следующая:
  • При запуске приложения - onCreate, onStart, onPostCreate
  • При переходе из активности на домашний экран или другую активность - onStop
  • При переходе с домашнего экрана или другой активности на данную - onStart
  • При нажатии на системную кнопку Back - onBack

Активности также могут называть видом (View) или экраном (Screen). Это не совсем корректно, но позволяет лучше понять, что они собой представляют. Переход на другой экран звучит понятнее, по сравнению с переходом на другой вид или активность.

Внешний вид мобильного приложения представляет собой не окно, как в оконных операционных системах, а набор автономно действующих экранов: на одном экране заставка, на другом - поле ввода логина и пароля, на третьем - настройки программы, на четвёртом - результат выполнения кода и т.д. Как правило, одна активность содержит одно действие, для выполнения которого используется один экран. Это упрощает взаимодействие пользователя с мобильным приложением, но нужно помнить о том, что это взаимодействие отличается при использовании мобильного телефона, который служит скорее для просмотра информации, от планшета. Часто об этом забывают (особенно при адаптировании оконных интерфейсов к мобильным) и создают один вид и для телефонов, и для планшетов, что создаёт неудобства при работе на первом или втором.

© 2016-2024 
actech