1. // 获取屏幕的宽度、高度
  2. Display defDip = getWindowManager().getDefaultDisplay();
  3. int disWidth = defDip.getWidth();
  4. int disHeight = defDip.getHeight();
  5. Log.i("TAG", "disWidth:" + disWidth + ",disHeight:" + disHeight);
  1. //获取屏幕分辨率
  2. DisplayMetrics dm = new DisplayMetrics();
  3. getWindowManager().getDefaultDisplay().getMetrics(dm);
  4. float horiDpi = dm.xdpi; // 屏幕的水平分辨率
  5. float vertDpi = dm.ydpi; // 屏幕的垂直分辨率
  1. // 获得android系统对于目前的屏幕分辨率的分类:
  2. int screenSizeClass = dm.densityDpi;
  3. Log.i("TAG", "screenSizeClass..." + screenSizeClass);
  4. switch (screenSizeClass) {
  5. case DisplayMetrics.DENSITY_LOW: // 屏幕属于低分辨率,运行对应的代码
  6. Log.i("TAG", "低分辨率");
  7. break;
  8. case DisplayMetrics.DENSITY_MEDIUM: // 中分辨率
  9. Log.i("TAG", "中分辨率");
  10. break;
  11. case DisplayMetrics.DENSITY_HIGH: // 高分辨率
  12. Log.i("TAG", "高分辨率");
  13. break;
  14. case DisplayMetrics.DENSITY_XHIGH: // 超高分辨率
  15. Log.i("TAG", "超高分辨率");
  16. break;
  17. case DisplayMetrics.DENSITY_XXHIGH:
  18. Log.i("TAG", "超超高分辨率");
  19. break;
  20. default:
  21. break;
  22. }
  1. // 判断屏幕尺寸
  2. final int screenSize = getResources().getConfiguration().screenLayout
  3. & Configuration.SCREENLAYOUT_SIZE_MASK;
  4. switch (screenSize) {
  5. case Configuration.SCREENLAYOUT_SIZE_SMALL:
  6. break;
  7. case Configuration.SCREENLAYOUT_SIZE_NORMAL:
  8. break;
  9. case Configuration.SCREENLAYOUT_SIZE_LARGE:
  10. break;
  11. case Configuration.SCREENLAYOUT_SIZE_XLARGE:
  12. // support from API 9
  13. break;
  14. case Configuration.SCREENLAYOUT_SIZE_MASK:
  15. break;
  16. case Configuration.SCREENLAYOUT_SIZE_UNDEFINED:
  17. break;
  18. default:
  19. break;
  20. }
  1. 有一点要注意,必须在AndroidManifest.xml里加上下面的声明
  2. <supports-screens
  3. android:largeScreens="true"
  4. android:normalScreens="true"
  5. android:resizeable="true"
  6. android:smallScreens="true"
  7. android:xlargeScreens="true" />

http://wake.hiapk.com/share/design/130417/1422786.html

Android设备各种使用尺寸整理的更多相关文章

  1. Android设备网络、屏幕尺寸、SD卡、本地IP、存储空间等信息获取工具类

    Android设备网络.屏幕尺寸.SD卡.本地IP.存储空间.服务.进程.应用包名等信息获取的整合工具类. package com.qiyu.ddb.util; import android.anno ...

  2. Android设备上的逐像素碰撞检测

    介绍 我正在我的Android设备上开发一款游戏,不用说,因为我想要接触到尽可能多的用户,我做到了 省略了硬件加速.因此,我需要编写能够在大多数设备上运行的最快的代码.我从一个简单的表面视图开始 并使 ...

  3. Xamarin设备相关图片尺寸要求

    Xamarin设备相关图片尺寸要求   Xamarin跨平台开发,要兼顾iOS.Android.尤其是图片方面,各个平台有对应的不同要求.在iOS中,需要提供没有后缀(设备无关单位尺寸).@2x(双倍 ...

  4. cocos2d-x项目过程记录(ios和android设备的适配)

    (原创作品,欢迎转载,注明出处,谢谢:http://www.cnblogs.com/binxindoudou/admin/EditPosts.aspx?postid=3213645) 1.原理分析的博 ...

  5. 安卓MonkeyRunner源码分析之与Android设备通讯方式

    如前文<谁动了我的截图?--Monkeyrunner takeSnapshot方法源码跟踪分析>所述,本文主要会尝试描述android的自动化测试框架MonkeyRunner究竟是如何和目 ...

  6. 【Android 应用开发】分析各种Android设备屏幕分辨率与适配 - 使用大量真实安卓设备采集真实数据统计

    .主要是为了总结一下 对这些概念有个直观的认识; . 作者 : 万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/198 ...

  7. Android 开发 获取Android设备的屏幕高宽

    获得屏幕的宽度和高度有很多种方法: //1.通过WindowManager获取 DisplayMetrics dm = new DisplayMetrics(); heigth = dm.height ...

  8. 分析各种Android设备屏幕分辨率与适配 - 使用大量真实安卓设备采集真实数据统计

    一. 数据采集 源码GitHub地址 : -- SSH : git@github.com:han1202012/DisplayTest.git; -- HTTP : https://github.co ...

  9. 【转】 不需要任何权限获得Android设备的唯一ID

    不需要任何权限获得Android设备的唯一ID,权限android设备id 这个问题来自于Is there a unique Android device ID? 我对这个问题的答案做了整理,包括将另 ...

随机推荐

  1. python的几个概念

    1.函数在传递实参的时候是传递的是引用而不是从内存中重新赋相同值给形参. 2.函数名带圆括号和不带圆括号.函数名带圆括号是函数的调用,而函数名代表的是函数体. 3.函数返回值,在函数没有返回值的时候默 ...

  2. 自动生成logo的网址

    1.https://www.logaster.com/logo/

  3. Java:网络编程之应用实例

    1.聊天 编写一个聊天程序,有收数据的部分和发数据的部分. 这两部分需要同时执行,那么就需要多线程技术. 一个线程控制发送. 一个线程控制接收. 因为收和发动作是不一致的,所以要定义两个run方法,而 ...

  4. wireshark问题现象分析

    讲的非常透彻:建议学习 wireshark问题现象分析1:参考博客1 https://blog.csdn.net/u012398362/article/details/52276067 wiresha ...

  5. python pip安装lxml失败(转)

    今天想要试试beautifulsoup4,安装的时候很顺利,然后就准备安装lxml作为解析器,没想到安装时pip直接给我报了一整页的错误. 解决过程 查看了一下错误提示,其中有如下一段: ****** ...

  6. js获取页面传来参数的方法

    function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&] ...

  7. http://www.cnblogs.com/hoojo/archive/2011/06/08/2075201.html

    http://www.cnblogs.com/hoojo/archive/2011/06/08/2075201.html

  8. MyBatis Generator生成DAO——序列化

    MyBatis Generator生成DAO 的时候,生成的类都是没有序列化的. 还以为要手工加入(開始是手工加入的),今天遇到分页的问题,才发现生成的时候能够加入插件. 既然分页能够有插件.序列化是 ...

  9. Angular 学习笔记——$http

    <!DOCTYPE HTML> <html ng-app="myApp"> <head> <meta http-equiv="C ...

  10. Git命令学习之旅——日志和穿梭版本号

    在总结了git命令的基础之后,接下来我们看一下基础的一些进阶内容:删除撤销命令.日志查看命令等 既然有加入文件的功能,那么相相应的肯定有移除文件的功能,命令例如以下:git rm [文件名称] 在输入 ...