Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Графические возможности Android Studio
В прошлой теме мы рассмотрели, как в коде xml и java определять интерфейс. Но надо отметить, что Android Studio имеет довольно продвинутый инструментарий, который облегчает разработку графического интерфейса. Мы можем открыть файл activity_main.xml и внизу с помощью кнопки Design переключиться в режим дизайнера к графическому представлению интерфейсу в виде эскиза смартфона. Слева будет находиться панель инструментов, с которой мы можем переносить нужный элемент мышкой на эскиз смартфона. И все перенесенные элементы будут автоматически добавляться в файл activity_main.xml. С помощью мыши мы можем изменять позиционирование уже добавленных элементов, перенося их в другое место на смартфоне. Справа будет окно Properties - панель свойств выделенного элемента. Здесь мы можем изменить значения свойств элемента. И опять же после изменения свойств изменится и содержимое файла activity_main.xml. То есть при любых изменениях в режиме дизайнера будет происходить синхронизация с файлом activity_main.xml. Все равно, что мы вручную изменяли бы код непосредственно в файле activity_main.xml. Но даже если мы предпочитаем работать с разметкой интерфейса в текстовом виде, то даже здесь мы можем включить предварительный просмотр для файла activity_main.xml. Для этого после переключения в текстовый режим необходимо нажать на вкладку Preview справа в Android Studio: Это очень удобно, так как сразу позволяет просмотреть, как будет выглядеть приложение. А при любых изменениях область предварительного просмотра будет автоматически синхронизироваться с содержанием файла activity_main.xml. Определение размеров В ОС Android мы можем использовать различные типы измерений: · px: пиксели текущего экрана. Однако эта единица измерения не рекомендуется, так как реальное представление внешнего вида может изменяться в зависимости от устройства; каждое устройство имеет определенный набор пикселей на дюйм, поэтому количество пикселей на экране может также меняться · dp: (device-independent pixels) независимые от плотности экрана пиксели. Абстрактная единица измерения, основанная на физической плотности экрана с разрешением 160 dpi (точек на дюйм). В этом случае 1dp = 1px. Если размер экрана больше или меньше, чем 160dpi, количество пикселей, которые применяются для отрисовки 1dp соответственно увеличивается или уменьшается. Например, на экране с 240 dpi 1dp=1, 5px, а на экране с 320dpi 1dp=2px. Общая формула для получения количества физических пикселей из dp: px = dp * (dpi / 160) · sp: (scale-independent pixels) независимые от масштабирования пиксели. Допускают настройку размеров, производимую пользователем. Рекомендуются для работы со шрифтами. · pt: 1/72 дюйма, базируются на физических размерах экрана · mm: миллиметры · in: дюймы Предпочтительными единицами для использования являются dp. Это связано с тем, что мир мобильных устройств на Android сильно фрагментирован в плане разрешения и размеров экрана. И чем больше плотность пикселей на дюйм, тем соответственно больше пикселей нам будет доступно: Используя же стандартные физические пиксели мы можем столкнуться с проблемой, что размеры элементов также будут сильно варьироваться в зависимости от плотности пикселей устройства. Например, возьмем 3 устройства с различными характеристиками экрана Nexus 4, Nexus 5X и Nexus 6P и выведем на экран квадрат размером 300px на 300px: В одном случае квадрат по ширине будет занимать 40%, в другом - треть ширины, в третьем - 20%. Теперь также возьмем квадрат со сторонами 300х300, но теперь вместо физических пикселей используем единицы dp: Теперь же размеры квадрата на разных устройствах выглядят более консистентно. Для упрощения работы с размерами все размеры разбиты на несколько групп: · ldpi (low): ~120dpi · mdpi (medium): ~160dpi · hdpi (high): ~240dpi (к данной группе можно отнести такое устройство как Nexus One) · xhdpi (extra-high): ~320dpi (Nexus 4) · xxhdpi (extra-extra-high): ~480dpi (Nexus 5/5X, Samsung Galaxy S5) · xxxhdpi (extra-extra-extra-high): ~640dpi (Nexus 6/6P, Samsung Galaxy S6) |
Последнее изменение этой страницы: 2019-05-04; Просмотров: 394; Нарушение авторского права страницы