многоэкранная принцип Android адаптации размера

Html точек эм размер блока пт шрифта

Определить размер шрифта на странице есть три общие классов единиц, рх, эм, пт

ПВ

Это сокращение для пикселя пикселей, изменение в разрешении единичных пикселей в процессе просмотра, текст на экране, с изображением на экране и тому подобное будет варьироваться в зависимости от, A 100px размер ширина изображения с разрешением 800 × 600, чтобы что составляет 1/8 ширины экрана, но в 1024 × 768, составляет лишь около 1/10. Так что, если при определении размера шрифта используйте точки как единое целое, и что после того, как пользователь, чтобы изменить разрешение экрана от 800-1024, пользователя будет на самом деле увидеть изменение текста «маленькую» (естественную единицу длины), или даже видеть, влияние просмотр.

в

ет:% т.е. относительных единицы, является относительным единицей длиной является шириной начальной буквы М, названных их. Теперь это относится к кратной ширине символа, похожего на процент использования, такие как: 0.8em 1.2em, 2em, нравится. Обычно 1em = 16px. Как правило, используется для измерения общей единицы (например, оборот элемента Поля и отступы) длиной, когда используется для указания размера шрифта, модуль EM относится к размеру шрифта родительского элемента.

На одной странице заданного размера шрифта родительского элемента, так что вы можете быть, чтобы изменить пропорции всех элементов, регулируя размер элемента. Это может быть свободно масштабируется, например, используется для масштабируемых таблиц стилей.

пт

СТ находится точка (фунт) аббревиатура, является фиксированной длиной, единица измерения, размером 1/72 дюйма. Если вы используете Интернет, чтобы сделать в позицах единиц текста, размер шрифта, как и в другом экране (то же разрешение), так что может повлиять на макет, но с использованием пта в слове вполне удобно. Поскольку основная цель состоит в том, чтобы не использовать слово для просмотра экрана, но печатной продукции. При печати на объект, пт в качестве естественной единицы длины на удобной и практичной, например, документы Word находятся в общем пользовании «Times New Roman 9PT», Название «жирным шрифтом 16pt» использования и так далее, независимо от того, как настройки компьютера, распечатать его навсегда не является настолько большим ,

изменение

Высота шрифта по умолчанию браузера является 16px, поэтому нескорректированный дисплей браузера 1em = 16px, то есть 1px = 0.0625em. Для упрощения преобразования размера шрифта, вы можете CSS в теле первого глобальной декларации размера шрифта = 62,5%, что определяется размером шрифта по умолчанию 16px * 0,625 = 10px, дочерние элементы будут наследовать размер шрифта родительского элемента, Таким образом , 1em = 10px, поэтому 12px = 1.2em. эм точки и преобразование могут быть получены 10. Тем не менее, размер шрифта = 0.625em определен или определен непосредственно 12px, который не имел никакого эффекта. ссылка

Android разработчики общая единица измерения

дюймовый

1 дюйм равен около 2,54 см, в основном используются для описания размера экрана мобильного телефона.

DPI / PPI 

DPI = точек на дюйм 

 PPI = Pixel Per Inch  

Разница заключается в том, что разница между двумя параметрами Pixel и Dot, точкой значения в физической точку на дисплее, и пикселем относится к минимальной единицы в разрешении экрана. Два не будет делать то же самое? Будет! Когда более чем один пиксель требует физической точки на экране, чтобы отобразить только тогда, когда пиксель не совпадает с точкой. Там это другое название для этого называется dppx (точка на пиксель), то есть каждый пиксель, сколько очков. Большинство отображать пиксель, который является точкой, но некоторые лучше экран и некоторые сотовый телефон экран dppx будет больше, чем 1. Например, Mac Retina, iPhone, HTC One и так далее. Я считаю, что мы столкнулись с некоторыми из экрана компьютера, это выглядит всегда так глупо глупо большое. Потому что они вызывают разрешение PPI оказалось слишком низким, и пусть картина выглядит так нелепо. Посмотрите на следующие две фотографии, я нахожусь на разрешении 1366х768 контролировать эффект от разрешения установлены 1366х768 и 1024х768 отображается. 


 1024 x 768 


 1366 x 768  

Но в большинстве случаев мы не ставили два существительных указывает так ясно, так что, когда два появляются, если выражение в принципе то же самое, что PPI (сколько пикселей на дюйм). 

ИЦП = число пикселов экрана по диагонали / Длина диагонали экрана = (√ (горизонтальный экран пикселей ^ 2 + 2 ^ экран вертикальных пикселей) / длина диагонали)

Например: если мобильный телефон разрешение экрана 720px * 1280px, 4,3 дюйма. Плотность точка √ (720 ^ 2 + 1280 ^ 2) /4.3 = 342ppi. ссылка

разрешение 

Разрешение слова во многих местах, таких как камеры, видео-сканеры. Вот что разрешение дисплея. Дисплеи состоят из одного пикселя (пиксель), состоящих в основном из упомянутого разрешения дисплея 1280x720 дисплея будет означать, что есть 1280 пикселей в горизонтальном направлении, 720 пикселей в вертикальном направлении. Но не тем выше разрешение, тем лучше экран, и вы должны быть определены в соответствии с размером экрана. То есть посмотреть на плотность пикселей (плотность пикселей), этот показатель является DPI (точек на дюйм) или PPI (пикселей на дюйм), то есть, пиксели на экране или ног количество очков.

плотность экрана

Плотность Экран телефона, как правило, относится к экрану телефона точек на дюйм (точек на дюйм), который является количество пикселей на дюйм. Для Android телефонов, есть несколько общих точек на дюйм:

1. ldpi: соответствующая диапазоне от 0 до 120 точек на дюйм, то есть на дюйм плотность экрана 0-120 экрана пикселей принадлежат ldpi

2. MDPI: Диапазон точек на дюйм от 120 до 160

3. ИПЧР: точек на дюйм в диапазоне от 160 до 240

4. xhdpi: точек на дюйм в диапазоне от 240 до 320

5. xxhdpi: точек на дюйм диапазоне от 320 до 480

6.xxxhdpi: точки на дюйм в диапазоне от 480 до 560

В фактическом развитии, как правило, DPI 120,160,240,320,480 значения относятся соответственно ldpi, MDPI, ИПЧР, xhdpi, xxhdpi. Чем больше плотность экрана мобильного телефона обычно отображается изображение будет более тонким. Вы можете получить текущую плотность экрана Android устройство с помощью следующего кода:
private void getDpi() {DisplayMetrics dm = getResources().getDisplayMetrics();Log.i("TAG", "density = " + dm.density);Log.i("TAG", "densityDpi = " + dm.densityDpi);}复制代码

Если мы запустим плотность экрана 320dpi выше кода на Android телефон, вы получите следующий результат:

density = 2densityDpi = 320复制代码

        Выход выше экрана Android телефона densityDpi значения точек на дюйм, то, что плотность это? На самом деле это представляет собой отношение величины точек на дюйм точек на дюйм и опорного значения текущего экрана, опорное значение составляет 160 точек на дюйм.

дп (провал)

        Плотность-независимый пиксель, Эндрюс развиваться с единицы длины, 1DP представляет собой экран , когда плотность пикселей 160ppi является длина 1px. Мы уже упоминали выше , 160 точек на дюйм выбрана в качестве опорной плотности экрана, плотность эталонного экрана искусственно установлено соотношение между дпом и рхом: точки на дюйм в устройстве 160 на Android, 1 Dp = 1px. Пусть х является элементом управления пользовательского интерфейса для точек единиц размера, у такой же пользовательский интерфейс контролирует дп единиц размера, densitydpi представляет плотность экрана, то х отношения с у как: х = у * densityDpi / 160 или х = у *  Плотность . Соответственно, разрешение может также быть вычислено как 1080x1920, плотность экрана 480dpi йр устройства на высокое значение в единицах ширины, ширина: 1080/3 = 360dp

Высота: 1920/3 = 640dp , когда мы обращаем внимание на ширине конструкции контрольного значения не может превышать максимальную ширину устройства.

зр

Перед введением зр, давайте вместе посмотрим TypedValue пользовательский класс содержит дп, зр конвертированы в другие единицы ПХ статические методы:

public static float applyDimension(int unit, float value,DisplayMetrics metrics) {switch (unit) {case COMPLEX_UNIT_PX:return value;case COMPLEX_UNIT_DIP:return value * metrics.density;case COMPLEX_UNIT_SP:return value * metrics.scaledDensity;case COMPLEX_UNIT_PT:return value * metrics.xdpi * (1.0f/72);case COMPLEX_UNIT_IN:return value * metrics.xdpi;case COMPLEX_UNIT_MM:return value * metrics.xdpi * (1.0f/25.4f);}return 0;}复制代码

Для преобразования дп точек, будет выполнить следующий код:

return value * metrics.density;复制代码

        Плотность мы ввели ранее, отношение точек на дюйм относится к текущей и эталонной точек на дюйм (160) а. плотность тока рассчитывается путем деления экрана 160 точек на дюйм. Другими словами, экран точек на дюйм 120160320480, значения плотности были 0.75,1,2,3.
Для преобразования зр точек, код будет выполняться следующим образом :

return value * metrics.scaledDensity;复制代码

        Это можно рассматривать как аналогично тому, когда формула для вычисления дп точек преобразуется пикселей преобразование SP, то что scaledDensity это? На самом деле, отличной от плотности scaledDensity, scaledDensity может изменяться динамически, когда пользователь изменяет шрифт масштабирования для Android устройств, значение scaledDensity изменится. ScaledDensity рассчитывается как: scaledDensity = плотность * fontScale. FontScale который представляет Android устройства пользователя, чтобы установить масштабирование шрифта по умолчанию 1. То есть, когда пользователь не меняет Android масштабирования шрифтов устройства, зр, дп точек и преобразование же самое.

Изменение плотности, scaledDensity и разрешение в меню настроек системы Android

Обычно мы делаем в пользовательском интерфейсе, чтобы подогнать страницу, она будет идти на много различных устройств Android, на самом деле, нам нужно только перейти в меню системы, чтобы установить плотность, scaledDensity и разрешение этих параметров, то вы можете на Android устройстве см страницы показать эффект на различных устройствах Android для HUAWEI mate8 телефона, например, ввести элементы отображения меню настройки системы:


Изменение плотности и разрешения по команде АБР оболочки

Просмотр поддерживается на терминал ввода набора команд ADB оболочки Wm:


Изменение и плотность вид команды:


Измените команду разрешения и вида:



Воспроизводится в: https: //juejin.im/post/5cf1fa70f265da1bb31c207e

рекомендация

отblog.csdn.net/weixin_33967071/article/details/91440586