Как изменить разрешение экрана на телефоне Android

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

Данная статья подходит для всех брендов, выпускающих телефоны на Android 11/10/9/8: Samsung, HTC, Lenovo, LG, Sony, ZTE, Huawei, Meizu, Fly, Alcatel, Xiaomi, Nokia и прочие. Мы не несем ответственности за ваши действия.

Внимание! Вы можете задать свой вопрос специалисту в конце статьи.

Актуальные способы изменения разрешения экрана телефона на ОС Андроид

Изменить разрешение экрана гаджета можно при помощи сторонних утилит. Давайте рассмотрим этот процесс на примере самого популярного софта.

ES Explorer

Для использования этого метода потребуются рут права. Запускаем данный файловый менеджер и выполняем инструкцию:

  • Через ES Explorer находим в корне гаджета папку System.
  • Открываем «build.prop» при помощи любого текстового редактора. В нашем примере используется блокнот от файлового менеджера.
  • Жмем «Операции», затем указываем «Изменить».
  • В строке «ro.sf.lcd_density = » указано 160. Например, ставим 130. Жмем «Готово».
  • Во время выхода жмем сохранить изменения.
  • Выполняем перезагрузку гаджета, после чего сможем увидеть полученный результат.

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

В разработке Android расстояние используется как единица измерения dp, dp — это падение, Google уже рассмотрел адаптацию для разработчика, когда он делает систему Android, но проблема в том, что если вы пишете представление, вы хотите, чтобы ширина всего экрана растянулась. Если вы не используете match_parent и используете dp, некоторым мобильным телефонам требуется 320dp, а некоторым — 350dp, 380dp и т. Д. Почему?

Несколько концепций

  • px: пиксельные пиксели, наименьшая единица отображения элементов на экране, например разрешение экрана 1920 * 1080 пикселей.
  • Размер телефона: физический размер диагонали экрана телефона в дюймах, например 5,5 дюйма.
  • ppi: пикселей на дюйм пикселей на дюйм
  • dpi: количество точек на дюйм аналогично ppi, но между ними есть разница. Ppi означает физическую плотность пикселей экрана, а метод расчета — это количество пикселей по диагонали / размер экрана. Dpi относится к плотности пикселей экрана, используемой при отрисовке интерфейса, которая может быть установлена программно, и эти два значения часто не равны. Это может быть нелегко понять. Не беспокойтесь об этом сейчас. Я расскажу о конкретной разнице между ppi и dpi позже.
  • Плотность: можно понимать как плотность пикселей, соотношение точек на дюйм экрана мобильного телефона к стандартным mdpi (160 точек на дюйм), например, мобильный телефон 160 точек на дюйм, плотность = 1, мобильный телефон 440 точек на дюйм, плотность = 2,75
  • dp / dip: пиксели, не зависящие от плотности, пиксели, не зависящие от плотности. Это единица длины, определенная инженерами Google для Android. Используя эту единицу длины, элементы интерфейса могут сохранять приблизительные физические размеры на экранах с разной плотностью (dpi).

Конкретные различия

Ниже в качестве примера представлен мой мобильный телефон, разрешение экрана Xiaomi note3 1920 * 1080, 5,5 дюйма

2.1 Разница между ppi и dpi

Сначала напечатайте некоторые параметры

DisplayMetrics dm = getResources().getDisplayMetrics(); Log.e(TAG, «densityDpi:» + dm.densityDpi); Log.e(TAG, «xdpi:» + dm.xdpi); Log.e(TAG, «ydpi:» + dm.ydpi); Log.e(TAG, «density:» + dm.density); Log.e(TAG, «widthPixels:» + dm.widthPixels); Log.e(TAG, «heightPixels:» + dm.heightPixels);

Результат

densityDpi:440 xdpi:403.411 ydpi:403.041 density:2.75 widthPixels:1080 heightPixels:1920

Взгляните на xdpi, ydpi, это официальные документы

/** * The exact physical pixels per inch of the screen in the X dimension. */ public float xdpi; /** * The exact physical pixels per inch of the screen in the Y dimension. */ public float ydpi;

Другими словами, xdpi и ydpi — это фактическое количество пикселей на дюйм в направлении x и y, что является концепцией ppi. Давайте еще раз посмотрим на dpi:

/** * The screen density expressed as dots-per-inch. May be either * {@link #DENSITY_LOW}, {@link #DENSITY_MEDIUM}, or {@link #DENSITY_HIGH}. */ public int densityDpi;

Проследите расположение настроек densityDpi в исходном коде:

private static int getDeviceDensity() { // qemu.sf.lcd_density can be used to override ro.sf.lcd_density // when running in the emulator, allowing for dynamic configurations. // The reason for this is that ro.sf.lcd_density is write-once and is // set by the init process when it parses build.prop before anything else. return SystemProperties.getInt(«qemu.sf.lcd_density», SystemProperties.getInt(«ro.sf.lcd_density», DENSITY_DEFAULT)); }

В файле build.prop телефонов Android есть элемент ro.sf.lcd_de density. Значение этого элемента фактически является dpi текущей системы. Это значение жестко запрограммировано (вы можете изменить это значение с помощью команды adb, но я не пробовал. Друзья также могут попытаться изменить его), но dpi также представляет собой количество точек на дюйм, которое похоже на ppi и в основном пропорционально.

2.2 Связь между разрешением экрана и физическим размером

Во многих сообщениях в Интернете говорится, что dpi телефона = количество пикселей по диагонали экрана / физический размер, то есть физический размер = количество пикселей по диагонали / dpi телефона, следующий код:

private double getScreenSize() { DisplayMetrics dm = getResources().getDisplayMetrics(); int width = dm.widthPixels; int height = dm.heightPixels; double x = Math.pow(width, 2); double y = Math.pow(height, 2); double diagonal = Math.sqrt(x + y); int dens = dm.densityDpi; double screenInches = diagonal / (double) dens; return screenInches; }

Результат этого расчета 5,0066072047324965 дюймов, но мой телефон 5,5 дюйма, результат явно неверный. не следует использоватьДиагональ пикселей / dpi Для расчета, но следует использоватьКоличество диагональных пикселей / ppi Для расчета, а что делать, если по диагонали нет ppi? Поскольку xdpi и ydpi представляют значение ppi, физический размер направления x и направления y можно преобразовать в соответствии с xdpi и ydpi, а затем физический размер диагонали можно рассчитать в соответствии с теоремой Пифагора, например:

private double getScreenSize2() { DisplayMetrics dm = getResources().getDisplayMetrics(); int width = dm.widthPixels; int height = dm.heightPixels; double x = Math.pow(width / dm.xdpi, 2); double y = Math.pow(height / dm.ydpi, 2); double screenInches = Math.sqrt(x + y); return screenInches; }

Результатом этого расчета является 5,464510361895758 дюймов, что в основном составляет 5,5 дюйма (когда производитель мобильных телефонов продает мобильный телефон, размер экрана может быть немного больше, поэтому могут быть некоторые ошибки).

2.3 Почему dp? Как рассчитывается dp?

Сначала посмотрим на взаимосвязь между плотностью dpi dp px

/** * The logical density of the display. This is a scaling factor for the * Density Independent Pixel unit, where one DIP is one pixel on an * approximately 160 dpi screen (for example a 240x320, 1.5?x2? screen), * providing the baseline of the system’s display. Thus on a 160dpi screen * this density value will be 1; on a 120 dpi screen it would be .75; etc. * * This value does not exactly follow the real screen size (as given by * {@link #xdpi} and {@link #ydpi}, but rather is used to scale the size of * the overall UI in steps based on gross changes in the display dpi. For * example, a 240x320 screen will have a density of 1 even if its width is * 1.8?, 1.3?, etc. However, if the screen resolution is increased to * 320x480 but the screen size remained 1.5?x2? then the density would be * increased (probably to 1.5). * * @see #DENSITY_DEFAULT */ public float density; … … // DENSITY_DEVICE — это dpi устройства, DENSITY_DEFAULT — статическая конечная переменная со значением 160 density = DENSITY_DEVICE / (float) DENSITY_DEFAULT;

Другими словами: density=dpi/160; pixel = dp * density; Для моего телефона dpi = 440, плотность = 440/160 = 2,75 Метод преобразования dp и px выглядит следующим образом:

public static int dip2px(Context context, float dipValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dipValue * scale + 0.5f); } public static int px2dip(Context context, float pxValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (pxValue / scale + 0.5f); }

Хорошо, вернемся к вопросу, который мы сказали в начале, почему у некоторых мобильных телефонов ширина экрана составляет 320dp, а у некоторых 380dp? Далее dp обозначает число dp, px обозначает количество пикселей, дюйм обозначает физический размер в дюймах; dpi и плотность обозначают dpi и плотность мобильного телефона соответственно.

Wide dp = широкий пиксель / плотность = (широкий пиксель * 160) / dpi; И dpi аналогично ppi, в основном пропорционально, dpi ?ppi; ppi = широкий пиксель / широкий дюйм;

и другие:

Ширина dp = (ширина пикселей * 160) / точек на дюйм ?160 * ширина в дюймах

Другими словами, сколько dp ширина экрана в основном не имеет отношения к пикселям, а пропорциональна физическому размеру. Также можно сказать, что количество dp между любыми двумя точками на экране пропорционально физическому размеру. Другими словами, если вы установите ширину и высоту вида на 10dp во время разработки, физическая ширина и высота, которые вы видите, будут в основном одинаковыми на разных устройствах. Вот и смысл создания dp unit, классный инженер слова!

SecondScreen

Если процесс изменения разрешения экрана вышеприведенным методом вам кажется сложным или на гаджете нет рут прав, можете скачать утилиту SecondScreen в Плей Маркете. Затем выполняем следующие шаги:

  • Запускаем софт, жмем на значок «+».
  • Отобразится основное меню программы. Там можно осуществить процесс редактирования параметров расширения экрана.
  • Утилита позволяет поменять разрешение экрана в 1-н клик.
  • Выбираем подходящее значение, к примеру, 240dpi.

Функционал приложения SecondScreen широкий. Еще пользователи могут выполнить такие настройки:

  • Отключение подсветки экрана.
  • Использование мультиэкранного режима.
  • Автоматическое подключение беспроводных аксессуаров (мышка, клавиатура и т.д.).

LCD Density Modder Pro

Утилита позволяет эффективно изменить показатель DPI. Уменьшая это значение, на экране будет увеличен шрифт, иконки, картинки и др. Данная опция будет полезной для пользователей с проблемным зрением.

Инструкция:

  • В настройках софта указываем подходящее значение DPI.
  • Выполняем подтверждение сделанного выбора.
  • Перезапускаем гаджет.

Все совершенные изменения будут осуществлены после выполнения перезагрузки. Главный минус программы – для ее функционирования необходимо иметь рут доступ.

Android Studio

Этот софт для ПК позволяет поменять разрешение экрана при помощи командной строки. Скачать софт на компьютер можно с сайта разработчиков https://developer.android.com/studio.

Инструкция:

  • Подключаем телефон Андроид к компьютеру через USB.
  • Запускаем командную строку.
  • В командной строке вводим «adb shell dumpsys display | grep mBaseDisplayInfo».
  • Теперь нужно нажать «Enter».

На мониторе отобразятся данные девайса. Рядом со значением «Density» будет указано расширение экрана.

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

Как узнать какое разрешение экрана на моем телефоне

Некоторые гаджеты в «Настройках» демонстрируют разрешение экрана. Для этого следует выбрать вкладку «О телефоне».

Если подобная функция отсутствует, можно сделать снимок экрана путем одновременного нажатия клавиш «Звук меньше» и «Включение». Данный скриншот следует сохранить и открыть в «Галерее». В разделе «Сведения» можно найти данные об экране телефона.

Как изменить разрешение экрана Android-устройства без root-доступа

Во-первых, вам нужно скачать и установить программу Android Debug bridge на ваш компьютер. После установки вам нужно будет перевести смартфон в Режим разработчика. Режим разработчика позволяет изменять недоступные по умолчанию настройки системного уровня на вашем смартфоне, но все, что нам сейчас нужно сделать, это включить отладку по USB.

Как изменить разрешение экрана игры на Андроид

  1. Перейдите в «Настройки» > «О телефоне», затем пролистайте вниз и нажмите на строку «Номер сборки» примерно 7-10 раз подряд. Вы получите уведомление, когда Режим разработчика будет активирован.
  2. Теперь перейдите в “Настройки” > “Система” > “Расширенные настройки” > “Параметры разработчика”. Пролистните вниз до раздела «Отладка» и включите опцию «Отладка по USB».

Итак, как вы меняете разрешение и DPI? Мы будем использовать те же команды, что и на втором этапе, но на этот раз мы добавим к ним свои собственные параметры.

На что влияет разрешение экрана

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

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

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

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

Как увеличить/уменьшить значки на экране телефона Android

Рейтинг
( 2 оценки, среднее 5 из 5 )
Понравилась статья? Поделиться с друзьями: