Android 获取屏幕尺寸

/** 
 * <supports-screens 
 * android:smallScreens="true" 
 * android:normalScreens="true" 
 * android:largeScreens="true" 
 * android:resizeable="true" 
 * android:anyDensity="true" /> 
 * <uses-sdk android:minSdkVersion="3" android:targetSdkVersion="8" /> 
 * 使Android程序支持了多种分辨率 
 */  
int mWidthScreen,mHeightScreen;  
  
Display display = getWindowManager().getDefaultDisplay();  
mWidthScreen = display.getWidth();  
mHeightScreen = display.getHeight();  
LogUtils.e("Width:" + display.getWidth());  
LogUtils.e("Height:" + display.getHeight());  
  
WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);  
DisplayMetrics outMetrics = new DisplayMetrics();  
wm.getDefaultDisplay().getMetrics(outMetrics);  
mWidthScreen = outMetrics.widthPixels;  
mHeightScreen = outMetrics.heightPixels;  
LogUtils.e("Width:" + outMetrics.widthPixels);  
LogUtils.e("Height:" + outMetrics.heightPixels);  
LogUtils.e("xdpi:" + outMetrics.xdpi);  
LogUtils.e("ydpi:" + outMetrics.ydpi);  
LogUtils.e("densityDpi:" + outMetrics.densityDpi);  
LogUtils.e("density:" + outMetrics.density);  
LogUtils.e("scaledDensity:" + outMetrics.scaledDensity);  
LogUtils.e("spWidth:"  + (outMetrics.widthPixels / outMetrics.scaledDensity + 0.5f));  
LogUtils.e("spHeight:"  + (outMetrics.heightPixels / outMetrics.scaledDensity + 0.5f));  
LogUtils.e("dpWidth:" + (outMetrics.widthPixels / outMetrics.density + 0.5f));  
LogUtils.e("dpHeight:" + (outMetrics.heightPixels / outMetrics.density + 0.5f));  
  
DisplayMetrics resMetrics = getResources().getDisplayMetrics();  
mHeightScreen = resMetrics.heightPixels;  
mWidthScreen = resMetrics.widthPixels;  
LogUtils.e("Width:" + resMetrics.widthPixels);  
LogUtils.e("Height:" + resMetrics.heightPixels);  
LogUtils.e("xdpi:" + resMetrics.xdpi);  
LogUtils.e("ydpi:" + resMetrics.ydpi);  
LogUtils.e("densityDpi:" + resMetrics.densityDpi);  
LogUtils.e("density:" + resMetrics.density);  
LogUtils.e("scaledDensity:" + resMetrics.scaledDensity);  
LogUtils.e("spWidth:"  + (int)(resMetrics.widthPixels / resMetrics.scaledDensity + 0.5f));  
LogUtils.e("spHeight:"  + (int)(resMetrics.heightPixels / resMetrics.scaledDensity + 0.5f));  
LogUtils.e("dpWidth:" + (resMetrics.widthPixels / resMetrics.density + 0.5f));  
LogUtils.e("dpHeight:" + (resMetrics.heightPixels / resMetrics.density + 0.5f));  

屏幕适配比

px dpi scale dip
480x850 240 1.5 320x569
540x960 240 1.5 360x640
640x960 320 2.0 320x480
600x1024 240 1.5 400x683
720x1280 240 1.5 480x853
720x1280 320 2.0 360x640
768x1280 320 2.0 384x640
800x1280 213 1.331 601x962
800x1280 320 2.0 400x640
1080x1920 420 2.625 411x731
1080x1920 480 3.0 360x640
1440x2560 560 3.5 411x731

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。转载请保留作者及原文链接

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容