//獲得手機的寬度和高度像素單位為px
// 通過WindowManager擷取
//必須在Activity中擷取,即使使用Context 也必須強轉為Activity
public void getScreenDensity_ByWindowManager(){
DisplayMetrics mDisplayMetrics = new DisplayMetrics();//螢幕解析度容器
getWindowManager().getDefaultDisplay().getMetrics(mDisplayMetrics);
int width = mDisplayMetrics.widthPixels;
int height = mDisplayMetrics.heightPixels;
float density = mDisplayMetrics.density;
int densityDpi = mDisplayMetrics.densityDpi;
Log.d(TAG,"Screen Ratio: ["+width+"x"+height+"],density="+density+",densityDpi="+densityDpi);
Log.d(TAG,"Screen mDisplayMetrics: "+mDisplayMetrics);
}
// 通過Resources擷取
// 不需要在Activity中使用, Application 和Activity中的Context 均可以使用此函數
public void getScreenDensity_ByResources(){
DisplayMetrics mDisplayMetrics = getResources().getDisplayMetrics();
int width = mDisplayMetrics.widthPixels;
int height = mDisplayMetrics.heightPixels;
float density = mDisplayMetrics.density;
int densityDpi = mDisplayMetrics.densityDpi;
Log.d(TAG,"Screen Ratio: ["+width+"x"+height+"],density="+density+",densityDpi="+densityDpi);
Log.d(TAG,"Screen mDisplayMetrics: "+mDisplayMetrics);
}
// 擷取螢幕的預設解析度
public void getDefaultScreenDensity(){
Display mDisplay = getWindowManager().getDefaultDisplay();
int width = mDisplay.getWidth();
int height = mDisplay.getHeight();
Log.d(TAG,"Screen Default Ratio: ["+width+"x"+height+"]");
Log.d(TAG,"Screen mDisplay: "+mDisplay);
}