Как получить размер экрана устройства?

Я хотел бы получить высоту экрана андроида, и если на экране появится определенная высота, как бы я это сделал?

Ответы

Ответ 1

Если вы хотите отображать размеры в пикселях, вы можете использовать этот код:

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth();
int height = display.getHeight();

Затем вы можете добавить условие, которое сравнивает высоту, чтобы удовлетворить ваши потребности.

В дюймах:

DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
double x = Math.pow(dm.widthPixels/dm.xdpi,2);
double y = Math.pow(dm.heightPixels/dm.ydpi,2);
double screenInches = Math.sqrt(x+y);
Log.d("debug","Screen inches : " + screenInches);

Ответ 2

Изнутри действия:

int width = getWindowManager().getDefaultDisplay().getWidth();
int height = getWindowManager().getDefaultDisplay().getHeight();

Или, если у вас есть только объект Context:

WindowManager windowManager = (WindowManager)mContext.getSystemService(WINDOW_SERVICE);
int width = windowManager.getDefaultDisplay().getWidth();
int height = windowManager.getDefaultDisplay().getHeight()

ОБНОВЛЕНО. Как обнаружить приложение на большом экране:

//Android Level 9 and up:
Configuration config = getResources().getConfiguration();
if((config.screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) ==  
    Configuration.SCREENLAYOUT_SIZE_XLARGE) 
{
    //xlarge screen
}

Ответ 3

В вашем методе onCreate или любом другом мероприятии просто выполните:

Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth(); 
int height = display.getHeight();