// 获取屏幕的宽度、高度
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. javascript 对象属性的添加,删除,json对象和字符串转换方法等

    1:动态添加 对象属性 var obj = new Object(); console.log (obj.username); obj.username = "haha"; con ...

  2. hdu1008(c++)

    分清上升停留下降一步步来就是了 #include<iostream>#include<vector>using namespace std;int main(){ int N, ...

  3. JS创建对象的方式有几种

    相信但凡作为一个前端工程师,都被面试到过这个面试题目,HR考察的就是对oop思想的理解. 作为一个从后端转过来的怂逼,oop一直是心中的永远的痛啊. 这几天一直在通读js高级程序设计,重复理解js创建 ...

  4. hdu 1162 Eddy&#39;s picture (Kruskal算法,prim算法,最小生成树)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1162 [题目大意] 给你n个点的坐标,让你找到联通n个点的一种方法.保证联通的线路最短,典型的最小生成 ...

  5. 关于BufferedInputStream和BufferedOutputStream的实现原理的理解

    在介绍FileInputStream和FileOutputStream的例子中,使用了一个byte数组来作为数据读入的缓冲区,以文件存取为例,硬盘存取的速度远低于内存中的数据存取速度.为了减少对硬盘的 ...

  6. Javascript中的高阶函数介绍

    高阶函数:高阶看上去就像是一种先进的编程技术的一个深奥术语,一开始我看到的时候我也这样认为的. Javascript的高阶函数 然而,高阶函数只是将函数作为参数或返回值的函数.以下面的Hello,Wo ...

  7. 新人补钙系列教程之:AS3事件处理--事件流

    一个flash应用程序可能会非常复杂,比如,有很多可视实例嵌套在一起,这样的话会形成一个树形结构,这个结构的根是stage,然后一级级到不同的实例,一般来说,要把这个树形结构倒过来看,即stage在顶 ...

  8. ASP.NET MVC4网站部署在阿里ECS云服务器(WIndows Server 2012+IIS8环境)

    首先交代一下服务器的环境配置 系统是WIndows Server2012(配置的时候选的是全能环境),服务器是IIS8 由于装了VS2012,所以系统也自动装上了.Net Framework4.5,M ...

  9. mysql binlog 使用

    用于数据恢复的binlog 前提条件 1.定时mysqldumps全备数据库 2.开启binlog增量备份 情景:手滑误操作删表操作 立刻 mysql>flush logs;  #开启一个新的b ...

  10. dev_queue_xmit()函数返回值问题

    函数  dev_queue_xmit()用于直接使用sk_buf发包,此函数有返回值,但是并不能通过 此函数返回值为0来说明包已经发送出去且可以立刻释放sk_buff内存.因为网卡发包是一个异步的过程 ...