获取手机屏幕分辨率1

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

获取不准确原因:

1.很简单,但是有些高分辨率的手机获取的不正常,比如使用Moto Milestone 手机,这款手机是480x854分辨率的,但使用DisplayMetrics.widthPixels 得的结果是320x533,并且如果按480x854切图也显示的太大,按320x533切图显示正常。原因是你没有在AndroidManifest.xml 文件中设置参数android:minSdkVersion ,android 在1.6之前是不支持WVGA 个FWVGA 的。

在AndroidManifest.xml 加上下边的代码就ok 了

XML code

2.若APK安装的系统是1.6以上的,

那么你的开发环境API的等级也得是1.6以上的才能正确得到屏幕尺寸

3.这个还需要乘以一个density的,你的手机应该是乘以1.5就对了,

Density是以320*480为标准的,也就是常说的mdpi,对应的density值为1.0,ldpi对应0.75,hdpi对应1.5

方法二:

Display display = getWindowManager().getDefaultDisplay();

int width = display.getWidth();

int height = display.getHeight();

但是,需要注意的是,在一个低密度的小屏手机上,仅靠上面的代码是不能获取正确的尺寸的。比如说,一部240x320像素的低密度手机,如果运行上述代码,获取到的屏幕尺寸是320x427。因此,研究之后发现,若没有设定多分辨率支持的话,Android系统会将240x320的低密度(120)尺寸转换为中等密度(160)对应的尺寸,这样的话就大大影响了程序的编码。所以,需要在工程的AndroidManifest.xml文件中,加入supports-screens节点,具体的内容如下:

android:smallScreens="true"

android:normalScreens="true"

android:largeScreens="true"

android:resizeable="true"

android:anyDensity="true"/>

这样的话,当前的Android程序就支持了多种分辨率,那么就可以得到正确的物理尺寸了。

相关文档
最新文档