转自:http://blog.csdn.net/zuolongsnail/article/details/8682950
Android开发需要适配手机和平板,有些需求在实现中就要判断设备是手机还是平板。
网上有的说直接判断是否有电话功能,不过现在的平板有的也支持电话功能了。
所以只能通过计算设备尺寸大小的方法来判断是手机还是平板了。
源码如下:
- /**
- * 判断是否为平板
- *
- * @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;
- }