Збірка графічного інтерфейсу – Android

&nbsp

Під фреймворці користувача інтерфейсу Android надається і повний набір інструментів малювання, за допомогою яких цей інтерфейс будується, і багата колекція заготовлених компонентів, заснованих на цих інструментах Як буде показано, графічні інструменти фреймворка забезпечують широку підтримку для додатків, в яких потрібно створювати власні елементи керування або відображати специфічні види З одного боку, багато додатки можуть цілком якісно працювати, використовуючи тільки стандартні види з інструментарію Насправді класи MapActivity і MyLocationOverlay дозволяють створювати самі вишукані програми, і при цьому вам самим не доведеться взагалі нічого малювати

Пару раз ми вже вживали термін «віджет», не пояснюючи, що це саме таке Нагадаємо, що екран відображається деревом компонентів Під фреймворці користувача інтерфейсу Android всі ці компоненти є підкласами android, viewView Види, які є «листям» або майже «листям», виконують основну малювальну роботу, і в контексті користувача інтерфейсу додатка такі види зазвичай іменуються віджетами

Внутрішні вузли, іноді звані контейнерними видами (container views), – це особливі компоненти, які мають іншими, дочірніми компонентами Під фреймворці користувача інтерфейсу Android контейнерні види є підкласами android view ViewGroup, а цей клас, у свою чергу, доводиться подклассом View Зазвичай тут відбувається досить мало малювання Замість цього контейнерні види займаються впорядкуванням своїх дочірніх видів на екрані і збереженням їх порядку в міру того, як вид змінює контури, орієнтацію і т д Виконувати такі завдання буває непросто

Для створення складних дисплеїв вам буде потрібно зібрати дерево контейнерів для видів, які ви збираєтеся використовувати в своєму додатку У прикладі 71 показано додаток з деревом видів, глибиною в три рівня Вертикальний лінійний макет містить два горизонтальних лінійних макета Кожен горизонтальний макет, в свою чергу, містить два віджету

Приклад 71 Складне дерево видів

Зверніть увагу: у коді збережена посилання на корінь дерева видів – для подальшого використання

У даному прикладі застосовуються три види LinearLayout Вид LinearLayout, як випливає з його назви, відображає свої дочірні елементи у вигляді рядка або стовпця, це визначається властивістю його орієнтації Дочірні види відображаються в тому порядку, в якому вони додавалися до LinearLayout (незалежно від порядку, в якому вони створювалися), у звичному для європейського читача напрямку зліва направо і зверху вниз Наприклад, кнопка Green (Зелений) знаходиться в правому нижньому кутку цього макета, так як вона була додана друга до горизонтального увазі Li nearLayout Він, у свою чергу, є другим елементом, доданим до кореневого увазі Li nearLayout

На рис 72 показано, як все це побачить користувач Сім видів дерева структуровані так, як зображено на рис 73

Рис 72 Як глядач бачить панелі

Рис 73 Ієрархія панелей виду

Під фреймворці Android добре організована можливість відділення ресурсів даних від коду Вона, зокрема, корисна при побудові компонування видів Попередній приклад можна замінити радикально простішим кодом з прикладу 72 і XML-визначенням компоновки виду з прикладу 73

Приклад 72 Складний вид, який використовує файл розмітки форми (layout resource)

Приклад 73 XML-визначення файлу розмітки форми складного виду

У даній версії коду, як і в першій, також зберігається посилання на корінь дерева видів Це робиться за допомогою позначки віджета в XML-шаблоні (в даному випадку мова про кореневий LinearLayout) тегом android: id Після цього використовується метод findViewByld класу Activity, який одержує посилання

Рекомендується визначати компоновку дерева видів саме в такому файлі розмітки форми – краще, якщо це увійде в звичку Роблячи так, ви відокремлюєте візуальне уявлення виду від того коду, який змушує його працювати Можна повозитися з компонуванням на екрані, і для цього не потрібно перекомпілювати код Але найважливіше те, що ви зможете будувати ваш користувальницький інтерфейс за допомогою таких інструментів, які дозволяють створювати екранні види прямо в спеціальному візуальному редакторі користувальницьких інтерфейсів

Джерело: Android Програмування на Java для нового покоління мобільних пристроїв

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*