Sketchware: объекты и свойства
17.08.2018
Базовая функциональность Sketchwareреализована следующими объектами:
- Layouts - компоновщики
- Widgets - виджеты (простые объекты, элементы управления)
- Components - компоненты (сложные объекты)
Компоновщики (Layouts)
Это объекты, которые могут содержать в себе другие (дочерние) объекты. Компоновщики предназначены для упорядочивания и выравнивания дочерних элементов заданным образом. Они не имеют обработчиков событий, не могут использоваться в качестве элементов управления, но у них есть свойства, что позволяет использовать их и в качестве графических элементов.
В редакторе вида доступны следующие компоновщики:
- Layout(H) - линейный с упорядочиванием по горизонтали
- Layout(V) - линейный с упорядочиванием по вертикали
- Scroll (H) - с горизонтальной прокруткой
- Scroll (V) - с вертикальной прокруткой
Компоновщики с прокруткой могут содержать один дочерний элемент, в качестве которого чаще всего выступают другие компоновщики.
Для получения сложной разметки компоновщики используются совместно. Например, для получения табличной компоновки в вертикальный компоновщик добавляют горизонтальные, а для получения возможности прокрутки содержимого по вертикали и горизонтали компоновщик с горизонтальной прокруткой помещается в компоновщик с вертикальной прокруткой (или наоборот).
Компоновщики относятся к видимым контейнерным объектам, по причине чего обладают не только свойствами компоновки, но и свойствами видимых объектов.
Виджеты (Widgets)
Это видимые объекты, предназначенные для взаимодействия с пользователем. Если виджет имеет один или несколько обработчиков событий, то он относится к элементам управления.
В редакторе вида доступны следующие виджеты:
- TextView - текстовая область
- EditText - текстовое поле ввода
- Button - кнопка (без фиксации)
- ImageView - область отображения изображений
- CheckBox - флажок
- Spinner - выпадающий список
- ListView - список с прокруткой
- WebView - область для отображения web-страниц
- Switch - переключатель
- SeekBar - ползунок
- CalendarView - область отображения календарных данных
- AdView - область отображения реклаиного сообщения
Компоненты (Components):
К компонентам относятся:
- Intent - намерение
- SharedPreferences - локальное хранилище
- Calendar - объект календаря
- Vibrator - объект управления вибросигналом
- Timer - таймер
- Dialog - объект диалога
- MediaPlayer - проигрыватель звуковых файлов (фоновой музыки)
- SoundPool - объект для работы с аудиопотоками (используется для одновременного воспроизведения звуков)
- ObjectAnimator - объект анимации
- Camera - объект для работы с камерой
- FilePicker - объект для выбора файлов
- Gyroscope - объект для работы с гироскопом (датчик измерения скорости вращения вокруг осей)
- Firebase DB - объект для работы с базой данный Firebase
- Firebase Auth - объект для аутентификации при работе с Firebase
- Firebase Storage - объект для работы с хранилищем данных Firebase
Cвойства компонентов можно посмотреть в справочнике по блокам
Свойства компоновщиков и виджетов
Свойства компоновщиков и виджетов можно изменять как в редакторе вида, так и в редакторе блоков.
Изменение свойств в редакторе вида происходит на этапе разработки приложения, а в редакторе блоков - на этапе выполнения приложения.
Редактирование свойств на этапе разработки позволяет осуществить первоначальную настройку объектов и сделать этот процесс наглядным при помощи редактора вида. Для быстрого изучения свойств объектов первые удобнее рассматривать относительно функциональных групп:
- Свойства компоновки
- Общие свойства объектов, имеющих видимое представление
- Свойства для работы с текстом
- Специфичные свойства
Свойства компоновки:
- layout_width - ширина области элемента:
- match_parent - занять всю доступную область родителя
- wrap_content - занять область, необходимую для отображения содержимого
- dp - занять область, заданную в независимых от плотности пикселях
- layout_height - высота области элемента
- match_parent - занять всю доступную область родителя
- wrap_content - занять область, необходимую для отображения содержимого
- dp - занять область, заданную в независимых от плотности пикселях
- padding - внутренние отступы:
- ALL - со всех сторон
- left - слева
- top - сверху
- right - справа
- bottom - снизу
- margin - внешние отступы:
- ALL - со всех сторон
- left - слева
- top - сверху
- right - справа
- bottom - снизу
- orientation - направление компоновки (только для Layout(H) и Layout(V)):
- horizontal - по горизонтали
- vertical - по вертикали
- weightSum - общий вес (размер) области в условных единицах (только для Layout(H) и Layout(V)). Используется для группового перераспределения (масштабирования) размеров дочерних элементов. Например, при вводе значения 20 означает, что вся область компоновщика делится на 20 равных частей и при весе элемента 5 последний займёт ¼ часть (25% ) внутренней области родителя
- gravity - внутреннее выравнивание (в независимых пикселях):
- left - по левому краю
- right - по правому краю
- center_horizontal - горизонтально по центру
- top - по верхнему краю
- bottom - по нижнему краю
- center_vertical - вертикально по центру
- layout_gravity - внешнее выравнивание:
- left - относительно левого края родителя
- right - относительно правого края родителя
- center_horizontal - горизонтально по центру родителя
- top - относительно верхнего края родителя
- bottom - относительно нижнего края родителя
- center_vertical - вертикально по центру родителя
- weight - вес элемента в условных единицах для заполнения доступной области. Если вес одного элемента равен 2, а другого 1, то первый займёт в 2 раза больше пространства в области родителя, чем второй. Если вес первого элемента равен 0, а второго равен 1, то первый займёт область, необходимую для отображения своего содержимого, а второй - всю оставшуюся доступную область родителя
Общие свойства видимых элементов:
- ID - идентификатор
- background_resource - фоновое изображение
- background_color - цвет фона
- enabled - состояние доступности (за исключением всех Layout и ListView)
- rotate - угол поворота
- alpha - прозрачность
- translationX - дополнительное смещение по оси X
- translatiuonY - дополнительное смещение по оси Y
- scaleX - масштаб по оси X
- scaleY - масштаб по осиY
Свойства для работы с текстом (для объектов, содержащих или работающих с текстом):
- text - текст надписи
- text_size - размер шрифта
- text_style - начертание:
- normal - нормальное
- bold - жирное
- italic - с наклоном
- bold|italic - жирное с наклоном
- text_color - цвет текста
- single_line - однострочная область ввода (при включённом состоянии)
- lines - количество строк, отображаемых в области
Специфичные свойства
Свойства поля ввода (TextEdit):
- hint - подсказка в поле ввода
- hint_color - цвет подсказки
- input_type - тип поля ввода:
- text - текстовое
- numberSigned - числовое целое
- numberDecimal - числовое дробное
- numberSigned| numberDecimal - числовое
- phone - для ввода номера телефона
- textPassword - поле для ввода пароля с заменителем символов
- ime_option - вид пиктограммы для кнопки действия клавиатуры:
- normal - угловая скобка
- none - нет
- go - стрелка
- search - лупа
- send - бумажный самолёт
- next - угловая скобка
- done - галочка
Свойства области отображения изображений:
- image - изображение
- scale_type - тип масштабирования в области просмотра:
- FIT_XY - растянуть по всей области
- FIT_START - растянуть с сохранением пропорций и выравниванием верхней границы изображения
- FIT_CENTER - заполнить центр с сохранением пропорций
- FIT_END - растянуть с сохранением пропорций и выравниванием нижней границы изображения
- CENTER_CROP - масштабировать по центру с сохранением пропорций так, чтобы и ширина, и высота изображения были равны или больше соответствующих им измерений области просмотра (увеличение масштаба с обрезкой)
- CENTER_INSIDE - масштабировать по центру с сохранением пропорций так, чтобы и ширина, и высота изображения были равны или меньше соответствующих им измерений области просмотра (уменьшение масштаба без обрезки)
Свойства флажка и переключателя (Checkbox и Switch):
- checked - флажок установлен (при включённом состоянии)
Свойства выпадающего списка:
- spinnerMode - режим отображения:
- dialog - в виде диалог
- dropdown - в виде выпадающего списка
Свойства списка:
- dividerHeight - толщина разделительной линии
- customView - пользовательский список, содержащий виджеты
Свойства области отображения ползунка (SeekBar):
- max - максимально возможное значение
- progress - текущее значение ползунка
Свойства области отображения календарных данных (CalendarView):
- firstDayOfWeek - первый день недели
События
- onClick - при нажатии на элемент
- onTextChanged - при изменении текста поля ввода
- onCheckChanged - при изменении состояния выбора флажка или переключателя
- onItemClicked - при нажатии на элемент списка
- onItemLongClicked - при долгом нажатии на элемент списка
- onItemChanged - при изменении выбранного элемента списка
- onStartTrackingTouch - при касании ползунка
- onProgressChanged - при изменении значения ползунка
- onStopTrackingTouch - при отпускании ползунка
- onDateChange - при изменении даты в календаре