Опубліковано: 25 Жовтня 2017
Основні елементи екрану додатку

У цьому уроку ми розберемо основи створення користувацького інтерфейсу в UI додатках Tizen.

Основні елементи UI

Створення користувацького UI додатку починається з вікна. Це базовий віджет, який представляє ваш додаток, на ньому відбувається розміщення всіх компонентів екрану.

Всі елементи користувацького інтерфейсу в Tizen розподіляються на віджети і контейнери. Контейнери, в основному, відповідають лише за розміщення і розмір віджетів на екрані. А віджети, в свою чергу, є елементами відображення інформації чи елементами управління.

Контейнери

Розглянемо, які ж контейнери з бібліотеки Elementary нам доступні.

Конформант (conformant) – контейнер, передбачений для використання системного індикатора і системної клавіатури у вашому додатку, які будуть поміщені поверх графічного контенту. Нижче представлено компонування конформанта.

nw_010_01_uk

Коробка (box) – контейнер, який розміщує елементи лінійно (горизонтально и/або вертикально). Є можливість задати проміжні значення, які будуть використані для розділення сусідніх елементів у коробці.

nw_010_02_uk

Сітка (grid) – розміщує компоненти в сітці з встановленим розміром, кожен елемент займає позицію відповідно до заданих йому координат і кількості комірок в сітці.

nw_010_03_uk

Макет (layout) – це дуже гнучкий вид контейнеру. Можна створювати, як стандартні, так і власні макети. Стандартні знаходяться в темі пристрою (деякі з них ми більш детально розглянемо далі). Крім того, існує можливість створювати власний макет з будь-яким компонуванням. Створення макету, простими словами, зводиться до вказання відносних координат області, в яку будуть поміщені віджети. Також є можливість створювати анімації для цього макету. Оскільки для створення користувацьких макетів використовується мова розмітки EDC, ці параметри будуть розглядатись в наступних уроках. Перевага макетів полягає у відокремленні компонування від логіки додатку.

Стиль стандартної теми групи “application”, стиль “default”:

nw_010_04_uk

Стиль стандартної теми групи “bottom_button”, стиль “default”:

nw_010_05_uk

Користувацький стиль (EDC) з будь-яким розташуванням і кількістю контенту:

nw_010_06_uk

Навіфрейм (naviframe) – контейнер, який зберігає поміщені в нього елементи у вигляді стеку, при цьому відображається лише верхній елемент. Цей контейнер зручно використовувати в додатках з багатьма екранами.

nw_010_07_uk

Скроллер (scroller) – контейнер, що має область відображення з смугою прокрутки. Він дозволяє розміщувати лише один елемент але дає можливість прокручувати області цього елементу, якщо його розмір більше ніж розмір самого скроллеру.

nw_010_08_uk

Таблиця (table) – розміщує елементи подібно до контейнера-сітки, але не дозволяє задавати їй розміри. Розміри таблиці розраховуються автоматично, ґрунтуючись на комірках, в які поміщено віджети. Зате, на відміну від сітки, тут є можливість задати проміжні відстані між сусідніми комірками по горизонталі і по вертикалі, як в контейнеру –коробці.

nw_010_09_uk
Віджети

У бібліотеці Elementary доступні наступні віджети:

Віджет індексації (index) – віджет для відображення, наприклад нумерації сторінок чи номера активної сторінки на екрані.

nw_010_10_en

Віджет фону (background) – віджет використовується для встановлення фону додатку, у вигляді заливки одним кольором чи зображення.

nw_010_11_en

Динамічний список (genlist) – віджет, який відображає елементи в області, що прокручується, при цьому виділення пам’яті для графічної інформації відбувається тільки для елементів, які знаходяться на екрані. За рахунок цього віджет є дуже продуктивним списком, що дозволяє додавати в нього навіть мільйон елементів, при цьому не втрачаючи продуктивність при прокручуванні.

nw_010_12_uk

Список (list) – простий у використанні віджет для відображення відносно не великого списку. Для великої кількості елементів слід використовувати динамічний список.

nw_010_13_uk

Текстовий віджет (label) – відображає текст через HTML-подібну розмітку для зміни стилю.

nw_010_14_uk

Віджет-зображення (image) – дозволяє відображати зображення, яке завантажується або з файлу, або напряму з вказаної області пам’яті. Також є можливість використовувати .gif анімацію замість статичного зображення.

nw_010_15_en

Виджет-іконка (icon) – віджет, який наслідується від віджета-зображення і використовується в контексті іконки, наприклад в кнопці чи інших віджетах. Крім того, для іконки існує функціонал для оптимального використання пам’яті. Припустимо, ви створюєте 100 однакових іконок для списку. У цьому випадку, для такої кількості зображень віджети будуть використовувати одну область пам’яті з графічною інформацією картинки, замість того аби використовувати в 100 разів більше пам’яті.

nw_010_16_en

Індикатор виконання (progressbar) – використовується для відображення стану будь-якого процесу. Цей віджет має лінійний зовнішній вигляд.

nw_010_17_en

Кнопка (button) – віджет для отримання сигналу від користувача в результаті натискання на екран в області цього віджета.

nw_010_18_uk

Прапорець (check) – віджет для відображення стану: «увімкнено /вимкнено».

nw_010_19_en

Перемикач (radio) – зазвичай використовується одразу декілька таких віджетів в групі. Як і прапорець, може перебувати в двох станах: увімкнено/вимкнено. Зауважте, що в групі може знаходитись лише один перемикач в стані «увімкнено».

nw_010_20_en

Віджет введення тексту (entry) – використовується користувачем для введення текстової інформації. Віджет підтримує смайли і дозволяє використовувати системну клавіатуру для введення. За такої умови у вашому додатку необхідно використовувати тип контейнеру - конформант.

nw_010_21_uk

Повзунок (slider) – використовується для встановлення значення в певному діапазоні, наприклад, з його допомогою можна реалізувати налаштування яскравості.

nw_010_22_en

Віджет дати і часу (datetime) – повноцінний віджет, який дозволяє вводити дату і/або час.

nw_010_23_uk

Спливаюче вікно (popup) – віджет для відображення інформації про помилки, а також додаткової інформації. Може мати кнопки для підтвердження дій користувача.

nw_010_24_uk

Контекстне спливаюче вікно (ctxpopup) – на відміну від звичайного спливаючого вікна, не перекриває весь екран, а дозволяє встановити координати, в яких воно буде відображено.

nw_010_25_uk

Віджет OpenGL (glview) – спеціальний віджет, який відображає сцену, яка малюється бібліотекою OpenGL.

nw_010_26_en

Далі представлені віджети, що відносяться до бібліотеки efl_extension, це розширені віджети з бібліотеки Elementary. Вони мають спеціальний зовнішній вигляд, розрахований на круглий дисплей.

Круглий селектор (rotary selector) – віджет, створений спеціально для круглого дисплея, який дозволяє відображати елементи на екрані по колу. Дозволяє використовувати декілька сторінок, якщо всі елементи на вміщуються на одному екрані. Має опцію переміщення між елементами, використовуючи прокрутку безеля.

nw_010_27_uk

Віджет додаткових опцій (more option) – кнопка, яка розміщується в одній з чотирьох сторін екрану (лівій, правій, верхній, нижній), при натисканні на яку, відображується круглий селектор з розміщеними в ньому елементами.

nw_010_28_uk

Круглий індикатор виконання (circle progressbar) – те ж саме, що і звичайний індикатор виконання, але заточений під круглий дисплей.

nw_010_29_en

Круглий повзунок (circle slider) – теж саме, що і звичайний повзунок, але заточений під круглий дисплей. Дозволяє змінювати величину, використовуючи безель.

nw_010_30_en

Круглий спінер (circle spinner) – віджет, за функціоналом дуже схожий на круглий повзунок. Дозволяє змінювати величину, використовуючи безель.

nw_010_31_en

Круглий скроллер (circle scroller) – те ж саме, що і звичайний контейнер прокручування, але дозволяє здійснювати прокручування області, використовуючи безель.

nw_010_32_en

Круглий динамічний список (circle genlist) – незважаючи на те, що цей віджет називається динамічним списком, він швидше є скроллером, а словосполучення «динамічний список» означає, що цей скроллер створюється спеціально для відображення поточного положення прокручування в цьому листі. Працює він так само як і круглий скроллер – прокручує список, використовуючи безель.

nw_010_33_uk

Круглий віджет дати і часу (circle datetime) – віджет дати і часу, підлаштований під круглий екран. При обертанні безеля, в залежності від активного індикатора, відбувається зміна величин, таких як день, місяць і т. д.

nw_010_34_uk

Крім того, круглі віджети мають деякі додаткові функції для налаштування, але при цьому ви можете використовувати функції Elementary для роботи з ними, як зі звичайними віджетами, наприклад, використовувати elm_scroller_policy_set() для круглого скроллера.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *