您的位置:首页 > 移动开发 > Android开发

android中获取手机分辨率

2012-07-06 11:07 274 查看
在Activity中

// ME722 测试 480*854 竖屏

Display display = this.getWindowManager().getDefaultDisplay();

int nHeight = display.getHeight(); //569

int nWidth = display.getWidth(); //320

DisplayMetrics metrics = new DisplayMetrics();

display.getMetrics( metrics );

int nDeviceHeight = (int)(metrics.heightPixels * metrics.density); // 569 * 1.5 = 853.5

int nDeviceWidth = (int)(metrics.widthPixels * metrics.density); // 320 * 1.5 = 480

float fPhisycalHeight = metrics.heightPixels * metrics.density / metrics.densityDpi; // 3.55625

float fPhisycalWidth = metrics.widthPixels * metrics.density / metrics.densityDpi; // 2.0

在AndroidManifest.xml中添加 <supports-screens android:anyDensity="true"/> 之后

或者是添加<uses-sdk android:minSdkVersion="4" /> 之后(最小版本号是4以及以上)

Display display = this.getWindowManager().getDefaultDisplay();

int nHeight = display.getHeight(); //854

int nWidth = display.getWidth(); //480

display.getMetrics( metrics );

metrics.heightPixels 854

metrics.widthPixels 480

metrics.density 1.5

多看Dev Guide

Lets you specify the screen dimensions the application supports. By default, a modern application (using API Level
4 or higher) supports all screen sizes; older applications are assumed to support only the "normal" screen size. Screen size is determined as the available pixels to an application after density scaling has been applied. (Note that screen size is a separate
axis from screen density.)


Constants


public static final int DENSITY_DEFAULT

Since: API Level 4

The reference density used throughout the system.

Constant Value: 160 (0x000000a0)


public static final int DENSITY_HIGH

Since: API Level 4

Standard quantized DPI for high-density screens.

Constant Value: 240 (0x000000f0)


public static final int DENSITY_LOW

Since: API Level 4

Standard quantized DPI for low-density screens.

Constant Value: 120 (0x00000078)


public static final int DENSITY_MEDIUM

Since: API Level 4

Standard quantized DPI for medium-density screens.

Constant Value: 160 (0x000000a0)


public static final int DENSITY_XHIGH

Since: API Level 9

Standard quantized DPI for extra-high-density screens.

Constant Value: 320 (0x00000140)

An application "supports" a given screen size if it fills the entire screen and works as expected. By default, the system will resize your application
to fill the screen, if you have set either
minSdkVersion
or
targetSdkVersion
to
"4"
or
higher. Resizing works well for most applications and you don't have to do any extra work to make your application work on larger screens.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: