Кто-нибудь использовал xdpi, ydpi и получил правильные результаты - PullRequest
1 голос
/ 17 апреля 2010

Интересно, кто-нибудь там использовал xdpi и ydpi и получил фактическое физическое dpi устройства?

Спасибо

Ответы [ 2 ]

5 голосов
/ 23 ноября 2011

Это верно на моем Nexus One, но не на моем Galaxy S2 (T-mobile).Поэтому я написал некоторый код, чтобы вернуться к менее точным измерениям.По сути, если xdpi и ydpi не находятся в пределах 5% от общей плотности, используйте универсальную.

Кто сказал, что фрагментация не проблема?Набор тестов продуктов Google для сертификации не должен использовать эту часть API.

  DisplayMetrics dm = new DisplayMetrics();
  ((WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getMetrics(dm);
  float density = dm.density;
  density = density * 160;
  float xdpi = dm.xdpi;
  float ydpi = dm.ydpi;
  float errX = Math.abs((xdpi / density) - 1f);
  float errY = Math.abs((ydpi / density) - 1f);
  if (errX > .05 && errY > .05)
  {
     xdpi = density;
     ydpi = density;
  }
0 голосов
/ 20 августа 2010

У меня нет. xdpi и xdpi совершенно не правы во всех телефонах, на которых я пробовал. Это не имеет смысла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...