Вопрос по android – Как преобразовать разрешение в dpi

1

Я сделал свой анализ и обнаружил, что большинство пользователей моего приложения будут samsung galaxy S2 и samsung galaxy note. Проводя исследование их технических характеристик, я обнаружил: Galaxy S2: 480 х 800 пикселей, 4,3 ' дисплей

Галакси ноут:  Экран 1280 x 800, 5,3 x

Как я могу классифицировать их по размеру и размеру макета? Я думаю, что я могу выяснить размер макета, как указано на странице разработки Android Однако я не могу знать уровень плотности (низкий, средний высокий xhigh). Говорят, что мне нужен dpi, но в функциональной спецификации я редко вижу dpi, просто вижу вышеуказанное разрешение Спасибо

Это абсолютно не дубликат этого. Другой парень говорит о чтении матриц с устройства, я говорю о преобразовании ручкой и бумагой! Snake
Это похоже на дубликатstackoverflow.com/questions/3166501/… Salil Malkan

Ваш Ответ

2   ответа
0

Не уверен, правильно ли я вас понимаю, но вы можете запросить уровень плотности и dpi из класса DisplayMetrics. Используя разрешение и плотность, вы можете приблизить размер дисплея.

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
Спасибо, но это не то, что я просил, я спрашивал о том, как преобразовать разрешение экрана в плотность экрана (dpi) с помощью ручки и бумаги Snake
10

Сначала посчитайте плотностьDensity=Square root((wp*wp)+(hp*hp))/di

где wp - разрешение по ширине в пикселях, hp - разрешение по высоте в пикселях, а di - размер диагонали в дюймах. Это будет ~ 208 для S2.

ldpi ~120dpi,mdpi ~160dpi, hdpi~240dpi, xhdpi ~320dpi, Сравните из этих значений dpi

ИДЕАЛЬНО .. Это то, что я ищу именно спасибо Snake

Похожие вопросы