WEB开发网
开发学院手机开发Android 开发 Android自动侦测屏幕大小和解析度 阅读

Android自动侦测屏幕大小和解析度

 2010-06-13 15:22:00 来源:WEB开发网   
核心提示:在 Android 机器上,屏幕的解析度可以用「屏幕大小」和「屏幕点距」俩个参数?表示,Android自动侦测屏幕大小和解析度,Android手机发布 疑似Galaxy Apollo" src="http://tech.cncms.com/tech/UploadPic/2010911/2010911

Android 机器上,屏幕的解析度可以用「屏幕大小」和「屏幕点距」俩个参数?表示。

三星新款<a target=Android手机发布 疑似Galaxy Apollo" src="http://tech.cncms.com/tech/UploadPic/2010911/201091103933708.jpg" width="242" height="362" border="0" onload="return imgzoom(this,550);" style="cursor:pointer;" onclick="javascript:window.open(this.src);"/>

一般的方法

Android 1.6 版以後,可以使用 config.screenLayout 语句?判断屏幕大小

Configuration config = getResources().getConfiguration();

if((config.screenLayout&Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_NORMAL){

}

UPDATE 2010/4/14: sam 真 「config = new Configuration()」只?回传预韵的Configuration, 而非当前的Configuration. 找了一下最好是使用 getResources().getConfiguration()

支援的参数与代瘁如下

Configuration.SCREENLAYOUT_SIZE_UNDEFINED 0

Configuration.SCREENLAYOUT_SIZE_SMALL 1

Configuration.SCREENLAYOUT_SIZE_NORMAL 2

Configuration.SCREENLAYOUT_SIZE_LARGE 3

要检查?距,可以使用 DisplayMetrics 遮句?判断屏幕?距

DisplayMetrics dm = new DisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics(dm);

if((dm.densityDpi == dm.DENSITY_HIGH)){

}

支援的??陪代瘁如下

DENSITY_HIGH 240 (dpi)

DENSITY_MEDIUM 160

DENSITY_LOW 120

DENSITY_DEFAULT 160

相容 1.5 以下?型

根?Android 版本使用?表,2010年1月? Android 1.5 市?率?是接近 1/3,但是呃1/3的机器上并无法使用上面的API。

在 1.5 版上,其实仍然可以用 density 语句?判断屏幕?距比率

DisplayMetrics dm = new DisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics(dm);

if((dm.density >= 1.5)){

}

density 的值 1 代表一般?距,1.5 代表高?距,0.75代表低?距。要??市面上所有的机器是否是高解析度机型,只要运用以上方法,就可以自动侦测出屏幕大小和?距喽。

Tags:Android 自动 侦测

编辑录入:coldstar [复制链接] [打 印]
赞助商链接