Как мы знаем, Android поставляется с различными устройствами, имеющими разные функции, разрешение и размер экрана, поэтому при разработке приложения, поддерживающего несколько (маленький и большой) экран, существует препятствие размера и макета.
Это приводит к различным комбинациям размеров экрана, разрешений и точек на дюйм и создает серьезные проблемы при проектировании и разработке для устройств Android. В то время как некоторые другие производители (не Android) имеют разные разрешения и DPI, у них одинаковый размер экрана, а разрешения соответствуют одному и тому же соотношению сторон. Следовательно, можно создать образ, подходящий для устройств, отличных от Android.
Мой вопрос в том, есть ли правильный поток или архитектура, которым нужно следовать, чтобы соответствовать требованиям?
Помните, что у нас есть планшеты разного размера и разрешения.
Я знаю, что разработчик Android содержит эту информацию, но мое мнение основано на реализации.
Насколько я знаю, я понял, что для разработки графики для Android даже Программист должен знать концепцию проектирования.
источник
MicroMax Funbook
gsmarena.com/micromax_funbook_p300-4701.php7", 480X800, Ldpi (133 dpi)
, подскажите в какой категории (drawble-large или Ldpi или если Android v3.0 sw-480) он упадет?Ответы:
Наконец, создали структуру, которая обрабатывает макеты и значки для нескольких экранов.
Android обобщает отображение устройства по категориям на основе двух параметров:
Чтобы быстро определить размер и плотность экрана, установите приложение « Какой у меня размер » для Android.
Размер экрана
Android определяет четыре общих размера экрана:
Qualifier Size small ~3 inches (approx) normal ~4 inches (approx) large Exceeds 4 inches xlarge Exceeds 7 inches
Android определяет четыре обобщенных плотности экрана:
Qualifier Description Nominal value ldpi low density 120 ppi mdpi medium density 160 ppi hdpi high density 240 ppi xhdpi extra high density 320 ppi
Обычно:
Он перечислен здесь процентную разницу экрана устройства в
Но, как мы знаем сейчас, большая часть устройств поставляется с 480X800, поэтому я рассматриваю это как базовое устройство, поэтому нашему новому расчету понравится этот
Это означает, что сначала значок и дизайн будут созданы только для 480X800, а затем для остальных (т.е. Ldpi, Mdpi, Xhdpi).
Существуют изображения, которые являются общими для всех макетов и должны быть одинаковыми по цвету и форме (без сложной формы, без кривой), поэтому мы создаем изображения такого типа,
9patch
которые нужно поместить в папку с возможностью рисования (без суффикса). Чтобы создать изображение 9Patch, вы можете использовать DrawNinePatch или BetterNinePatch.Теперь просто переименуйте свои изображения на основе стандартов Android и завершите свое приложение,
hdpi
а затем просто возьмитеdrawable-hdpi
папку и откройте Adode Photoshop (рекомендуется), создайте действие нескольких размеров (просто измените размер в соответствии с процентным соотношением), как только действие будет создано для всех размеров, а затем просто выполните Пакетная автоматизация и предоставление источника (drawable-hdpi) и назначения (drawable-ldpi, drawable-mdpi, drawable-xdpi).Причина, по которой я настаиваю на использовании Photoshop, потому что он автоматически изменит размер вашего изображения с помощью Actions, и еще один плюс заключается в том, что вам не нужно переименовывать файл (ему будет присвоено то же имя, что и исходное).
Как только вы закончите создание всех изображений, обновите свой проект и протестируйте его.
Иногда может быть вероятность того, что макет, поддерживающий экран (xhdpi, hdpi, mdpi), может быть вырезан на маленьком экране (ldpi), поэтому для обработки этого просто создайте для него отдельную папку макета (layout-small) и добавьте
ScrollView
(в основном). Это оно.Таблетки Таблетки делятся на два размера.
В этом нам нужно создать изображения для обоих экранов и просто поместить их соответственно
Таким образом, в нашем приложении будет эта папка для поддержки нескольких экранов.
будет более квалификационная комбинация с
Screen size and Screen density
больше квалификатора с
Screen density and Version
и еще квалификатор с
Screen size and Version
и еще квалификатор с
Smallest width concept(SW)
drawable-sw???dp
Более того, в Android V3.0 Honeycomb они представили новую концепцию,
SW(smallest width)
в которой устройства категоризированы по ширине экрана, поэтому, если мы создаем папку с именем,drawable-sw360dp
тогда устройство с разрешением 720dp (шириной или высотой) будет использовать ресурс из этой папки.например, чтобы найти суффикс
Samsung Galaxy S3
dp для drawable-sw? dpСо ссылкой на расчет DP , если вы хотите поддерживать свой макет или рисовать на S3, тогда в расчетах говорится
px = ширина устройства = 720
dpi = плотность устройства = 320
формула дана
px = dp * (dpi / 160)
заменяя формулу, потому что у нас есть значение px
dp = px / (dpi / 160)
теперь оцениваю,
dp= 720 / (320/160); dp=360.
так
drawable-sw360dp
сделаю работуПолучите конфигурацию устройства из GsmArena Sameway, вы также можете создать папку в соответствии с версией Android API устройства, то есть drawable-hdpi-v11`, чтобы устройство, имеющее API11 и Hdpi, использовало эти ресурсы.
Дополнительные советы:
Используйте относительные макеты, dp, sp и mm.
dp units - независимые от устройства пиксели, нормализованные до 1 физического пикселя на экране 160 ppi, т.е. средней плотности. Масштабируется во время выполнения. Используйте для размеров элемента экрана
sp units - масштабированные пиксели, указанные как значения с плавающей запятой, основанные на единицах dp, но дополнительно масштабированные для настройки размера шрифта пользователя. Масштабируется во время выполнения. Используйте для размеров шрифта
вы всегда должны использовать RelativeLayout для макетов; AbsoluteLayout устарел и не должен использоваться.
Используйте соответствующие форматы изображений - PNG или JPEG
Android "prefers" PNG for bitmap image files, "accepts" JPEG, and "discourages" GIF.
Однако PNG и JPEG не являются эквивалентами. У них разные качества, и PNG не всегда лучше:
JPEG может предложить до 50% уменьшения размера файла по сравнению с PNG, что важно, если ваше приложение интенсивно использует изображения.
Более качественный JPEG с потерями может выглядеть лучше, чем сильно сжатый PNG без потерь при том же размере файла.
Добавляйте метки к изображениям и графике для отладки
Используйте элемент supports-screen
Настройте свои эмуляторы с использованием реальных значений устройства
Обычно настольные системы отображают 72ppi (Mac) или 96ppi (Windows, Linux). По сравнению с мобильными дисплеями настольные дисплеи всегда имеют низкую плотность.
Всегда настраивайте эмуляторы Android для имитации реальных значений устройства и всегда настраивайте их масштабирование для имитации плотности устройства.
В Eclipse легко создать несколько эмуляторов (в строке меню Eclipse выберите Window> AVD Manager> New ), настроенных со значениями для реальных устройств:
Назовите эмулятор реального устройства, которое он эмулирует. Укажите разрешение, не используйте встроенные общие размеры. Установите плотность устройства, соответствующую реальному устройству (на панели «Аппаратное обеспечение» установите для свойства абстрактного ЖК-дисплея реальную плотность, всегда целочисленное значение)
При запуске устройства всегда выбирайте «Масштабировать отображение до реального размера» и вводите реальный размер экрана в дюймах.
Если вы не установите плотность устройства, эмулятор по умолчанию использует низкую плотность и всегда загружает ресурсы, специфичные для ldpi. Разрешение (размеры в пикселях) будет правильным, но ваши ресурсы изображения, зависящие от плотности, не будут отображаться должным образом.
Конечно, ничто из того, что вы делаете, не приведет к воспроизведению изображения с более высокой плотностью на настольном дисплее с более низкой плотностью.
Вот данные, собранные в течение 7-дневного периода, заканчивающегося 1 октября 2012 г. Чтобы увидеть последнюю статистику о версии платформы Android, перейдите сюда
В зависимости от размера экрана
На основе плотности экрана
источник
Дизайнеры должны создавать базовые проекты
base size of mdpi devices * density conversion factor of highest supported density bucket
Размер основного экрана составляет 320 X 480 пикселей, а уровни плотности следующие:
А для решения лишнего свободного места на устройствах Android следует использовать растягиваемые компоненты в обоих направлениях (по горизонтали и вертикали). Подробная информация доступна здесь:
http://vinsol.com/blog/2014/11/20/tips-for-designers-from-a-developer/
источник