在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
The reference density used throughout the system.
public static final int DENSITY_HIGH
Standard quantized DPI for high-density screens.
public static final int DENSITY_LOW
Standard quantized DPI for low-density screens.
public static final int DENSITY_MEDIUM
Standard quantized DPI for medium-density screens.
public static final int DENSITY_XHIGH
Standard quantized DPI for extra-high-density screens.
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.