Форум программистов, компьютерный форум CyberForum.ru

Физический размер экрана - Android

Войти
Регистрация
Восстановить пароль
 
kebal
9 / 9 / 0
Регистрация: 02.11.2012
Сообщений: 153
29.01.2014, 22:01     Физический размер экрана #1
Пишу на OpenGL ES
Java
1
2
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
Затем получаю количество пикселей на дюйм по x и по y. Для Asus Nexus 7 это выходит 195 по x и 200 по y, что означает - 195 пикселей на дюйм в ширину и 200 пикселей на дюйм в высоту.
Затем я получаю просто ширину и высоту в пикселях. Что дает мне 800 и 1205 и делю.
800 / 195 * 2.54
1205 / 200 * 2.54
2.54 сантиметра = 1 дюйм
То есть программа мне говорит, что размер моего игрового поля 10.4 на 15.2 сантиметра, а линейкой я замерил получается, что 9.4 на 14.2 и я не понимаю, куда исчезает эта единица.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2014, 22:01     Физический размер экрана
Посмотрите здесь:

Поворот Экрана Android
Размер экрана без шапки Android
Включение экрана Android
Разрешение экрана Android
Android Размер шрифта, размер контролов
Android Размер кнопок, не пойму что влияет на их размер
Android Как подгонять размер диалоговых окон по размер экрана?
Android Размеры экрана
Android Как автоматически изменять размер текста в spinner в зависимости от размера экрана?
Android Как сделать так, чтобы мобильное приложение автоматически подстраивалось под размер экрана?
Android RecyclerView создает Item на размер экрана, как исправить?
Android Узнать доступные координаты (размер экрана)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MegaSinner
 Аватар для MegaSinner
91 / 91 / 3
Регистрация: 09.04.2010
Сообщений: 746
30.01.2014, 01:51     Физический размер экрана #2
kebal, metrics.getDpi(), а затем высчитать... У меня вроде правильно показывало..
kebal
9 / 9 / 0
Регистрация: 02.11.2012
Сообщений: 153
30.01.2014, 03:26  [ТС]     Физический размер экрана #3
Да, ещё до этого тестировал, там есть public поле metrics.densityDpi и оно на моем устройстве имеет значение 213 для обоих направлений, что вроде бы по формулам даёт приемлемый результат.
Хотя вот описание
public float densityDPi: The screen density expressed as dots-per-inch.
public float xdpi: The exact physical pixels per inch of the screen in the X dimension.
public float ydpi: The exact physical pixels per inch of the screen in the Y dimension.
Что как бы намекает, что в ширину и высоту плотность разная, что собственно я и раньше предполагал или читал в других источниках. При этом что в интернете находил - используют xdpi и ydpi.
И если использую densityDPI, то подсчет размера экранах в сантиметрах отличается на 1-2мм, а если использовать xdpi, ydpi, то если отнять от результата в сантиметрах единицу, то отличаться будет всего на 0.5-1мм, что точнее... но что за единица без понятия.
Yandex
Объявления
30.01.2014, 03:26     Физический размер экрана
Ответ Создать тему
Опции темы

Текущее время: 00:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru