android开发教程之判断是手机还是平板的方法

方法一

复制代码代码如下:

public static boolean isTablet(Context context) {
        return (context.getResources().getConfiguration().screenLayout
                & Configuration.SCREENLAYOUT_SIZE_MASK)
                >= Configuration.SCREENLAYOUT_SIZE_LARGE;
}

方法二

通过计算设备尺寸大小的方法来判断是手机还是平板:

复制代码代码如下:

/**
 * 判断是否为平板
 * 
 * @return
 */
private boolean isPad() {
 WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
 Display display = wm.getDefaultDisplay();
 // 屏幕宽度
 float screenWidth = display.getWidth();
 // 屏幕高度
 float screenHeight = display.getHeight();
 DisplayMetrics dm = new DisplayMetrics();
 display.getMetrics(dm);
 double x = Math.pow(dm.widthPixels / dm.xdpi, 2);
 double y = Math.pow(dm.heightPixels / dm.ydpi, 2);
 // 屏幕尺寸
 double screenInches = Math.sqrt(x + y);
 // 大于6尺寸则为Pad
 if (screenInches >= 6.0) {
  return true;
 }
 return false;
}

由于现在市场上,大屏幕手机层出不穷,基本各个都是超过5.5寸屏幕。所以方法一,调用系统的Configuration.SCREENLAYOUT_SIZE_MASK 基本获取的都是大屏幕尺寸的类型。因为Android系统代码就只把系统屏幕分成了大、中、小三种。所以使用方法一判断不够严谨,建议使方法二。

你可能感兴趣的:(android技术文档)