Как узнать размер экрана устройства?
Я хотел бы получить высоту экрана Android, и если экран инстанса определенной высоты, как бы я это сделал?
3 ответа
Решение
Если вы хотите размеры экрана в пикселях, вы можете использовать этот код:
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);
Изнутри деятельности:
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
}
В вашем onCreate или любом другом методе Activity просто выполните:
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();