относится ли экран от этого устройства к плотности ldpi (или mdpi или hdpi)? - PullRequest
1 голос
/ 08 февраля 2012

Я хочу написать функцию, подобную этой

public boolean isThisScreenWithHdpiDensity(){
    return true/false;
}

, но я не знаю, как рассчитать это во время выполнения программным союзником

Ответы [ 2 ]

8 голосов
/ 08 февраля 2012

Используйте это внутри вашей функции:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
switch(metrics.densityDpi){
     case DisplayMetrics.DENSITY_LOW:
                break;
     case DisplayMetrics.DENSITY_MEDIUM:
                 break;
     case DisplayMetrics.DENSITY_HIGH:
                 break;
}
2 голосов
/ 08 февраля 2012
      public boolean isThisScreenWithHdpiDensity()
      {         
         DisplayMetrics metrics = new DisplayMetrics();
         getWindowManager().getDefaultDisplay().getMetrics(metrics);

         if(metrics.density == DisplayMetrics.DENSITY_HIGH)
         {
             return true;
         }

         return false;
      }
...