是这个设备的屏幕属于ldpi(或mdpi或hdpi)密度?

时间:2012-02-08 09:52:45

标签: android android-layout screen android-ui android-gui

我想写一个像这样的函数

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

但我不知道如何在程序运行时计算这个

2 个答案:

答案 0 :(得分:8)

在你的功能中使用它:

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;
}

答案 1 :(得分:2)

      public boolean isThisScreenWithHdpiDensity()
      {         
         DisplayMetrics metrics = new DisplayMetrics();
         getWindowManager().getDefaultDisplay().getMetrics(metrics);

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

         return false;
      }