// 获取屏幕的宽度、高度
Display defDip = getWindowManager().getDefaultDisplay();
int disWidth = defDip.getWidth();
int disHeight = defDip.getHeight();
Log.i("TAG", "disWidth:" + disWidth + ",disHeight:" + disHeight);
//获取屏幕分辨率
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
float horiDpi = dm.xdpi; // 屏幕的水平分辨率
float vertDpi = dm.ydpi; // 屏幕的垂直分辨率
// 获得android系统对于目前的屏幕分辨率的分类:
int screenSizeClass = dm.densityDpi;
Log.i("TAG", "screenSizeClass..." + screenSizeClass);
switch (screenSizeClass) {
case DisplayMetrics.DENSITY_LOW: // 屏幕属于低分辨率,运行对应的代码
Log.i("TAG", "低分辨率");
break;
case DisplayMetrics.DENSITY_MEDIUM: // 中分辨率
Log.i("TAG", "中分辨率");
break;
case DisplayMetrics.DENSITY_HIGH: // 高分辨率
Log.i("TAG", "高分辨率");
break;
case DisplayMetrics.DENSITY_XHIGH: // 超高分辨率
Log.i("TAG", "超高分辨率");
break;
case DisplayMetrics.DENSITY_XXHIGH:
Log.i("TAG", "超超高分辨率");
break; default:
break;
}
        // 判断屏幕尺寸
final int screenSize = getResources().getConfiguration().screenLayout
& Configuration.SCREENLAYOUT_SIZE_MASK; switch (screenSize) {
case Configuration.SCREENLAYOUT_SIZE_SMALL:
break;
case Configuration.SCREENLAYOUT_SIZE_NORMAL:
break;
case Configuration.SCREENLAYOUT_SIZE_LARGE:
break;
case Configuration.SCREENLAYOUT_SIZE_XLARGE:
// support from API 9
break;
case Configuration.SCREENLAYOUT_SIZE_MASK:
break;
case Configuration.SCREENLAYOUT_SIZE_UNDEFINED:
break;
default:
break;
}
 有一点要注意,必须在AndroidManifest.xml里加上下面的声明 

 <supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:resizeable="true"
android:smallScreens="true"
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. Android - toolbar navigation 样式

    1.修改title 边距 修改边距使用系统的app属性来引入使用,即: xmlns:app="http://schemas.android.com/apk/res-auto" 1 ...

  2. setSystemUiVisibility() 与 getSystemUiVisibility() 显示隐藏状态栏

    Android  4.4  Camera 源码里面有一个操作界面的方法: /** * If {@param visible} is false, this hides the action bar a ...

  3. mysql的三大范式

    关系数据库的几种设计范式介绍: 第一范式:确保每列的原子性(强调的是列的原子性,即列不能够再分成其他几列). 如果每列(或者每个属性)都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式 ...

  4. python核心编程学习记录之Web编程

    cgi未完待续

  5. crossapp的屏幕适配

    1.分辨率是的某个尺寸大小的屏幕里的像素点数ppi 2.crossapp茶用iphone4为基准比例值为1 3.其它分辨率设备的换算dp = px * 320/ 屏幕PPI 4.crossapp里点. ...

  6. EarlyZ disable( earlyz失效

    There are a few ways to disable EarlyZ list here: Shader depth output disabled Alpha test with depth ...

  7. Shell--变量内容的删除、替代与替换

    1. 变量内容的删除与替换 #代表由前面开始删除,所以这里便由开始的/删起,*来代替0到无穷多个任意字符 %由后面向前删除变量内容 例如:echo ${path%:*bin}删除最有一个目录,即从:到 ...

  8. solr 常用命令

    1.启动和关闭 a.启动和重启 启动和重启命令有很多选项让你运行在SolrCloud模式,使用示例配置,以hostname为开头或者非默认端口,指向本地ZooKeeper. bin/solr star ...

  9. Elasticsearch教程(五) elasticsearch Mapping的创建

    一.Mapping介绍 在Elasticsearch中,Mapping是什么? mapping在Elasticsearch中的作用就是约束. 1.数据类型声明 它类似于静态语言中的数据类型声明,比如声 ...

  10. Error:[$parse:lexerr]

    1.错误描写叙述 2.错误原因 由错误提示可知,有关AngularJS代码不符合语法,导致报错 3.解决的方法 检查发现,title标签中的data-ng-bind属性使用方法有误 <title ...