Минимальная ширина dp Xiaomi

На начальном этапе юзай dp для всего, кроме текста. Для текста используй sp. Это единственное что бы я добавил к ответу ниже.

20 июн 2016 в 6:23

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

px
> Пиксель — соответствует одному пикселю на экране. Не рекомендуется использовать, так как на разных устройствах элементы будут выглядеть по-разному (физический размер одного пикселя на каждом устройстве разный).

in
> Дюйм (Inch) — соответствует реальному физическому размеру элементов на экране (1 дюйм ≈ 2,54 см)

mm
> Миллиметр — также соответствует реальному размеру (1 мм = 0,01 см)

pt
> Точка — 1/72 дюйма, реальный размер (1 точка ≈ 3,5 мм)

dp или dip
> Пиксель, не зависящий от плотности (Density-independent Pixel) — относительная единица измерения, которая берет за основу плотность экрана устройства. Примерно cоответствует одному пискелю на устройстве с плотностью экрана 160 точек на дюйм (dots per inch, dpi). Отношение dp/px меняется в соответствии с плотности экрана, но не в строгой пропорции: dp/dx зависит от категории экрана, а не точного значения плотности. Рекомендуется применять вместо обычных px для корректного отображения элементов на устройствах с различной плотностью экрана. В разметке можно писать как dip , так и dp , компилятор одинаково воспринимает оба варианта, однако dp предпочтительнее.

Как узнать свой максимальный dpi на любом телефоне

sp
> Scalable Pixel или Scale-independent Pixel — как и dp, зависит от плотности экрана, но результат будет масштабироваться в соответствии с настройками размера шрифта пользователя. Рекомендуется для задания размеров шрифтов, чтобы текст подстраивался как под плотность экрана, так и под настройки, заданные пользователем

+———+—————+—————+————+————-+ | Единица | Название | В 1 дюйме | Зависит от | Одинаковый | | | | | плотности? | физ. размер | +———+—————+—————+————+————-+ | px | Пиксель | — | Да | Нет | +———+—————+—————+————+————-+ | in | Дюйм | 1 | Нет | Да | +———+—————+—————+————+————-+ | mm | Миллиметр | 25.4 | Нет | Да | +———+—————+—————+————+————-+ | pt | Точка | 72 | Нет | Да | +———+—————+—————+————+————-+ | dp | Пиксель, | ~160 | Нет | Нет | | | не зависящий | | | | | | от плотности | | | | +———+—————+—————+————+————-+ | sp | Пиксель, | ~160 | Нет | Нет | | | не зависящий | | | | | | от масштаби- | | | | | | рования | | | | +———+—————+—————+————+————-+

Источник: ru.stackoverflow.com

РЕЖИМ РАЗРАБОТЧИКА XIAOMI | ОБЗОР ВСЕХ ФУНКЦИЙ, ТЫ ЭТО НЕ ЗНАЛ!

Вопрос по поводу DPI на poco x3 pro. В режиме разработчика

Вчера поставил в режиме для разработчика минимальную ширину экрана(DPI) на 900 и около 9 часов ,телефон находился с таким DPI ,а когда ставишь такие показатели,то все на экране уменьшается. Так вот ,когда я перешёл на стандартный DPI (392), то у меня ,когда я захожу в приложение и обратно возвращаюсь на рабочий стол , рабочий стол как бы загружается заново ,т.е на нем 2 или 3 секунды ничего нет тобишь просто обои ,и только потом все иконки появляются. Это скоро восстановится или все плохо?

Голосование за лучший ответ

Все плохо, перепрошивать

У меня всё норм

Александр СелезнёвУченик (198) 8 месяцев назад

Как тема называется?

│̲̅А̲̅к̲̅а̲̅ц̲̅у̲̅к̲̅и̲̅│ Искусственный Интеллект (128666) WenyCLM

стоит попробовать перезагрузить тел сначала._.

Xiaomi mi 4a gigabit edition характеристики

Источник: otvet.mail.ru

Русские Блоги

Адаптация экрана Android (наименьшая адаптация ширины / сегодняшнее решение для адаптации экрана заголовка)

(1) Сегодняшний план адаптации экрана заголовка

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

Основным принципом его схемы адаптации является вычисление плотности по следующей формуле (плотность означает, сколько пикселей занимает 1 дп на текущем устройстве).

Общая ширина экрана текущего устройства (в пикселях) / общая ширина дизайна (в dp) = плотность

Общая ширина экрана — наименьшая ширина экрана по сравнению с высотой, например: если пиксели экрана 1920 * 1080, общая ширина экрана составляет 1080.
Подробности:
https://mp.weixin.qq.com/s/d9QCoBP6kV9VSWvVldVVwA
https://www.jianshu.com/p/55e0fca23b4f

Также порекомендуйте каркас адаптации экрана, упакованный в соответствии с современной технологией заголовков:
AndroidAutoSize рамка

implementation ‘me.jessyan:autosize:1.0.0’

Использование:
Заполните глобальный размер проектного чертежа (единица измерения dp) в AndroidManifest. Если вы используете подразделение, вы можете напрямую заполнить размер пикселя без преобразования пикселей в dp.

Подробнее для просмотраdemo-subunits

(2) Адаптация режима наименьшей ширины

Какая самая маленькая ширина

Наименьшая ширина в переводе на китайский означает минимальную ширину, так что же означает эта минимальная ширина?

Система будет сопоставлять значения-swdp в соответствии с минимальной шириной текущего экрана устройства. Почему бы не сопоставить значения, основанные на ширине, а добавить слова минимум?

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

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

Как рассчитывается значение наименьшей ширины

Нам нужно вычислить значение smalllestWidth текущего устройства, прежде чем мы сможем узнать, какой папке values-swdp должно соответствовать текущее устройство.

Например:
Мы предполагаем, что информация на экране устройства составляет 1920 * 1080, 480 точек на дюйм

В соответствии с приведенными выше правилами, нам нужно выбрать наименьшее значение в высоте и ширине экрана в качестве минимальной ширины, 1080

Используйте следующую формулу:
px / density = dp
DPI / 160 = density

Таким образом, окончательная формула px / (DPI / 160) = dp

Таким образом, минимальная ширина, которую мы получаем, составляет 360 dp = 1080 / (480/160).

Теперь, когда мы вычислили минимальную ширину текущего устройства, равную 360 dp, мы знаем, что система поможет нам сопоставить файл dimensions.xml в папке values-sw360dp на основе этой минимальной ширины. Если папка value-sw360dp не существует в проекте, система Для совпадения с аналогичными значениями-swdp папки

Файл dimensions.xml является ядром всего решения, поэтому давайте взглянем на принцип измерения. Xml в папке values-sw360dp.

диммер.xml принцип генерации

Поскольку фактическое значение измерений, на которое мы ссылаемся в макете проекта, исходит из измерения .s.xml в папке values-swdp, которое соответствует минимальной ширине текущего экрана устройства, полезно понять, как создается файл измерения. Понимание схемы адаптации экрана наименьшей ширины
Генерация Dimens.xml включает в себя два фактора:Первый фактор — минимальное эталонное значение ширины.,Второй фактор — сколько папок values-swdp нужно сгенерировать (определяется количеством минимальных ширин, которые нужно адаптировать в проекте)

Первый фактор:

Что означает минимальная ширина ссылки? Простое понимание состоит в том, сколько вам нужно разделить ширину экрана устройства. Предположим, что теперь мы устанавливаем минимальное эталонное значение ширины проекта равным 360, а минимальную ширину равным 360dp, только что вычисленным выше, тогда это решение будет понято, поскольку вы хотите разделить все устройства. Ширина экрана разделена на 360 копий. Решение поможет вам сгенерировать ссылки на размеры от 1 до 360 в файле dimensions.xml. Например, размерs.xml в values-sw360dp выглядит следующим образом:Формула: (минимальная ширина / минимальное контрольное значение) 360dp / 360dp = 1dp (если другие минимальные значения ширины не разделены, старайтесь не сохранять десятичные разряды, если округление вниз влияет на точность)

Xiaomi dreame l10 pro или dreame d9 max

values-sw360dp относится к минимальной ширине текущего экрана устройства, равной 360dp (Высота устройства больше ширины, тогда минимальная ширина равна ширине, поэтому ширина устройства составляет 360 dp), Разделите ширину экрана на 360 частей, каждая часть точно равна 1 dp, поэтому каждая ссылка увеличивается на 1 dp,Наибольшее значение dp_360, относящееся к размерам, также составляет 360dp, просто покрывая ширину экрана

Второй фактор

Второй фактор — какие минимальные ширины нужно адаптировать? Например, минимальная ширина, которую вы хотите подогнать, составляет 320dp, 360dp, 400dp, 411dp, 480dp, а затем решение сгенерирует значения-sw320dp, values-sw360dp, values-sw400dp, values-sw411dp, values-sw480dp для вашего проекта. Папка ресурса (обычно создается на основе dp основных мобильных телефонов на рынке), например

Решение сгенерирует серию соответствующих значений-swdp в проекте для минимальной ширины, которую нужно адаптировать.Как упоминалось ранее, если устройство не предоставляет соответствующие значения-swdp для него, оно будет искать аналогичные Значения-swdp, но если аналогичные значения-swdp сильно отличаются от ожидаемых значений-swdp, эффект адаптации будет значительно уменьшен.

использование

Пример: чтобы нарисовать картинку 10dp * 10dp

Код создания файла измерения (проект Java):

Просто запустите его самостоятельно:

package dimens.constants; public enum DimenTypes < // Подходит для Android 3.2 и выше. Значение sw большинства мобильных телефонов сконцентрировано в диапазоне 300-460. DP_sw__300(300), // values-sw300 DP_sw__310(310), DP_sw__320(320), DP_sw__330(330); // сколько вы хотите сгенерировать и так далее /** * Минимальная ширина экрана */ private int swWidthDp; DimenTypes(int swWidthDp) < this.swWidthDp = swWidthDp; >public int getSwWidthDp() < return swWidthDp; >public void setSwWidthDp(int swWidthDp) < this.swWidthDp = swWidthDp; >>

package dimens.generator; import dimens.constants.DimenTypes; import dimens.utils.MakeUtils; import java.io.File; public class DimenGenerator < /** * Размер эскизного проекта (укажите ширину эскизного проекта вашего собственного дизайнера) */ private static final int DESIGN_WIDTH = 375; /** * Высота эскизного проекта (заполните высоту эскизного проекта вашего собственного дизайнера) */ private static final int DESIGN_HEIGHT = 667; public static void main(String[] args) < int smalllest = DESIGN_WIDTH>DESIGN_HEIGHT? DESIGN_HEIGHT: DESIGN_WIDTH; // найти минимальную ширину DimenTypes[] values = DimenTypes.values(); for (DimenTypes value : values) < File directory = new File («»); // Для удобства установите текущую папку, файл измерения будет создан в папке, в которой находится проект, и пользователи могут изменить его самостоятельно. MakeUtils.makeAll(smallest, value, directory.getAbsolutePath()); >> >

преимущество

1. Очень стабильная, очень низкая вероятность несчастных случаев

2. Без потери производительности

3. Возможности адаптации можно свободно контролировать, не затрагивая другие трехсторонние библиотеки.

4. С помощью плагинов, стоимость обучения низка

недостаток

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

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

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

4. Если вы хотите использовать sp, вам также нужно сгенерировать серию измерений, что снова увеличит громкость приложения.

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

Как сбросить настройки на Сяоми 4

6. Не может адаптироваться на основе высоты. Учитывая, что название этой схемы называется схемой адаптации минимальной ширины, вы должны знать, что эта схема может быть адаптирована только на основе ширины. Почему текущую схему адаптации экрана можно адаптировать только на основе высоты или ширины, см.https://github.com/JessYanCoding/AndroidAutoSize/issues/8

Лично я чувствую, что сегодняшняя технология адаптации заголовков, используемая платформой AndroidAutoSize, менее инвазивна, чем SmallestWidth. В будущем удобнее менять метод адаптации. Если вы используете решение SmallestWidth, поддерживать его позже будет более трудоемким (это чисто С личным мнением, если есть обида, пожалуйста, Хай Хан, в конце концов, я все еще немного белый)

Источник: russianblogs.com

Рейтинг
( Пока оценок нет )
Загрузка ...
Китай Покупай