首页 > 技术文章 > 如何判断Android设备是手机还是平板?

shiweihappy 2014-06-27 14:13 原文

转自:http://blog.csdn.net/zuolongsnail/article/details/8682950


Android开发需要适配手机和平板,有些需求在实现中就要判断设备是手机还是平板。

网上有的说直接判断是否有电话功能,不过现在的平板有的也支持电话功能了。

所以只能通过计算设备尺寸大小的方法来判断是手机还是平板了。


源码如下:

  1. /** 
  2.  * 判断是否为平板 
  3.  *  
  4.  * @return 
  5.  */  
  6. private boolean isPad() {  
  7.     WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);  
  8.     Display display = wm.getDefaultDisplay();  
  9.     // 屏幕宽度  
  10.     float screenWidth = display.getWidth();  
  11.     // 屏幕高度  
  12.     float screenHeight = display.getHeight();  
  13.     DisplayMetrics dm = new DisplayMetrics();  
  14.     display.getMetrics(dm);  
  15.     double x = Math.pow(dm.widthPixels / dm.xdpi, 2);  
  16.     double y = Math.pow(dm.heightPixels / dm.ydpi, 2);  
  17.     // 屏幕尺寸  
  18.     double screenInches = Math.sqrt(x + y);  
  19.     // 大于6尺寸则为Pad  
  20.     if (screenInches >= 6.0) {  
  21.         return true;  
  22.     }  
  23.     return false;  

推荐阅读