2017-02-15 77 views
-3

創建Android模擬器,與屏幕: 屏幕尺寸:7.5英寸 分辨率(寬x高):720x960 密度:MDPI 而在Android的虛擬設備管理器則顯示XLARGE屏幕尺寸,但在以下代碼它返回大屏幕尺寸。的Android得到錯誤的屏幕尺寸

int screenLayout = context.getResources().getConfiguration().screenLayout; 
screenLayout &= Configuration.SCREENLAYOUT_SIZE_MASK; 

switch (screenLayout) { 
    case Configuration.SCREENLAYOUT_SIZE_SMALL: 
     return ScreenSize.SMALL; 
    case Configuration.SCREENLAYOUT_SIZE_NORMAL: 
     return ScreenSize.MEDIUM; 
    case Configuration.SCREENLAYOUT_SIZE_LARGE: 
     return ScreenSize.LARGE; 
    case Configuration.SCREENLAYOUT_SIZE_XLARGE: 
     return ScreenSize.XLARGE; 
    default: 
} 
+3

可能的重複[如何在android中以編程方式獲取ScreenSize](http://stackoverflow.com/questions/11252067/how-do-i-get-the-screensize-programmatically-in-android) –

+0

以下Google文檔https://developer.android.com/guide/practices/screens_support.html xlarge屏幕至少爲960dp x 720dp。 – user3706425

+0

我不想得到寬度或高度我只是想確定屏幕尺寸(小,正常,大或xLarge),但我不知道爲什麼它返回錯誤的屏幕尺寸 – user3706425

回答

0

使用下面的代碼來獲取Android手機屏幕的高度和寬度。

DisplayMetrics displayMetrics = getResources().getDisplayMetrics(); 
int height = displayMetrics.heightPixels; 
int width= displayMetrics.widthPixels; 
0

getscreen高度和寬度使用 int screenWidth = getWindowManager().getDefaultDisplay().getWidth(); int screenHeight = getWindowManager().getDefaultDisplay().getHeight(); GET佈局高度使用 int layoutHeight = Layout.getMeasuredHeight();

1

您將能夠得到屏幕的高度和寬度使用:

WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); 
    Display display = wm.getDefaultDisplay(); 
    DisplayMetrics metrics = new DisplayMetrics(); 
    display.getMetrics(metrics); 
    int width = metrics.widthPixels; 
    int height = metrics.heightPixels; 
+0

我不想寬度或高度我只是想確定屏幕大小,但我不知道它返回錯誤的屏幕大小 – user3706425

0
public static int getScreenWidth() { 
return Resources.getSystem().getDisplayMetrics().widthPixels; 
} 

public static int getScreenHeight() { 
return Resources.getSystem().getDisplayMetrics().heightPixels; 
} 
0

你可以試試這個:

/** 
* Get screen width 
* 
* @param context 
* @return screen width 
*/ 
public static int getScreenWidth(Context context) 
{ 
    WindowManager wm = (WindowManager) context 
      .getSystemService(Context.WINDOW_SERVICE); 
    DisplayMetrics outMetrics = new DisplayMetrics(); 
    wm.getDefaultDisplay().getMetrics(outMetrics); 
    return outMetrics.widthPixels; 
} 

/** 
* Get screen height 
* 
* @param context 
* @return screen height 
*/ 
public static int getScreenHeight(Context context) 
{ 
    WindowManager wm = (WindowManager) context 
      .getSystemService(Context.WINDOW_SERVICE); 
    DisplayMetrics outMetrics = new DisplayMetrics(); 
    wm.getDefaultDisplay().getMetrics(outMetrics); 
    return outMetrics.heightPixels; 
}