美文网首页
Android 获取屏幕尺寸

Android 获取屏幕尺寸

作者: EitanLiu | 来源:发表于2016-07-02 02:01 被阅读215次
/** 
 * <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 国际许可协议进行许可。转载请保留作者及原文链接

相关文章

网友评论

      本文标题:Android 获取屏幕尺寸

      本文链接:https://www.haomeiwen.com/subject/avlqjttx.html