转自: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;
  24. }

如何判断Android设备是手机还是平板?的更多相关文章

  1. Android 编程下判断当前设备是手机还是平板

    /** * 判断当前设备是手机还是平板,代码来自 Google I/O App for Android * @param context * @return 平板返回 True,手机返回 False ...

  2. Android 判断当前设备是手机还是平板

    Android开发需要适配手机和平板,有些需求实现时就要求判断设备是手机还是平板.网上很多说通过设备尺寸.DPI.版本号.是否具备电话功能等进行判断,不过都不算太精确.这里分享一个简洁给力的方法(官方 ...

  3. Java判断访问设备为手机、微信、PC工具类

    package com.lwj.util; import javax.servlet.http.HttpServletRequest; /** * 判断访问设备为PC或者手机--工具类 * * @de ...

  4. 【javascript】判断浏览设备是手机还是电脑

    判断页面浏览设备是手机还是电脑,代码如下: function browserRedirect() { var sUserAgent = navigator.userAgent.toLowerCase( ...

  5. php 判断设备是手机还是平板还是pc

    1 <?php 2 //获取USER AGENT 3 $agent = strtolower($_SERVER['HTTP_USER_AGENT']); 4 5 //分析数据 6 $is_pc ...

  6. 如何判断Android设备是否为模拟器

    android.os.Build.BRAND:获取设备品牌 如果获取的Landroid/os/Build;->BRAND的值为 "generic"则为模拟器上运行. andr ...

  7. Android获取屏幕实际高度跟显示高度,判断Android设备是否拥有虚拟功能键

    //获取屏幕尺寸,不包括虚拟功能高度 getWindowManager().getDefaultDisplay().getHeight(); 获取屏幕原始尺寸高度,包括虚拟功能键高度, private ...

  8. jquery判断当前设备是手机还是电脑并跳转

    <script type="text/javascript"> var commonURL = 'http://xxxx.com/'; function mobile_ ...

  9. 【转】Android编程判断手机or平板

    转载自:http://www.cnblogs.com/sunzn/p/3663363.html /** * 判断当前设备是手机还是平板,代码来自 Google I/O App for Android ...

随机推荐

  1. find-right-interval

    https://leetcode.com/problems/find-right-interval/ Java里面TreeMap或者TreeSet有类似C++的lower_bound或者upper_b ...

  2. 【Todo】各种排序整理

    今天面试别人,问到堆排序.发现自己都记不太清楚了. 堆排序 从小到大排序,要用到的是,最大堆. 过程是最大堆,堆顶的最大的元素,调换到数组最后,依次进行.最后达到从小到大的效果. 归并排序 可以看这个 ...

  3. Bootstrap_CSS全局样式

    一.HTML5 文档类型 Bootstrap 使用到的某些 HTML 元素和 CSS 属性需要将页面设置为 HTML5 文档类型.在你项目中的每个页面都要参照下面的格式进行设置. <!DOCTY ...

  4. git和其他版本控制系统的区别

    所有除了Git以外的版本控制系统都使用增量存储方式来保存不同版本,而Git则在每一个commit时,保存一个整个文件的content copy,除非那个文件没有做过改动.Git和其他版本系统的主要区别 ...

  5. 51nod1086 背包问题 V2

    我都快不会写二进制优化多重背包了...卡了一下常数从rank100+到20+... #include<cstdio> #include<cstring> #include< ...

  6. 你其实真的不懂print("Hello,world")

    http://www.jianshu.com/p/abb55919c453 debugPrint在发布的版本里也 会输出debugPrint只是更倾向于输出对象的调试信息.不管是开发环境还是测试环境都 ...

  7. Eclipse实用快捷键

    经典常用快捷键1. [ALT+/]此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类.方法和属性的名字时,多体验一下[ALT+/]快捷键带来的好处吧. 2. ...

  8. 二:ZooKeeper术语概念

    一:Zookeeper的设计目标   -->Zookeeper致力于提供一个高性能,高可用,且具有严格的顺序访问控制能力(主要是写操作的严格顺行性)的分布式协调服务. -->高性能使得Zo ...

  9. linux echo命令的-n、-e两个参数

    echo -n 不换行输出 $echo -n "123" $echo "456" 最终输出 123456 而不是 123 456 echo -e 处理特殊字符 ...

  10. Ubuntu跬步之图片管理digiKam

    Ubuntu下自带了Image Viewer,具备基本的图片浏览功能. 偶尔有些图片需要分组,添加标注,幻灯片浏览等,所以找了款图片管理软件digiKam. 安装 Ubuntu Software Ce ...