Intereting Posts
Обнаружение молчания в режиме Android Кажется, что ваше устройство не поддерживает камеру (или заблокировано) Как передать пользовательские данные в Google Maps v2 InfoWindowAdapter? Android Studio автоматически закрывается после короткого времени Как вернуться к конкретному действию, если действия выполняются одним классом Android: пользовательская панель действий, как использовать всю ширину? Разрешение Android READ_EXTERNAL_STORAGE не работает Как интегрировать платежный шлюз TEST PayU в приложение для Android? Изображение из галереи автоматически поворачивается – Android Как получить видео пальцем ногти из необработанного видео папки на Android Проверка электронной почты Firebase не работает должным образом Служба не останавливается при вызове метода stopService Android RecyclerView: notifyDataSetChanged () IllegalStateException Android делает анимированное видео из списка изображений Удалите пустое пространство из электронной почты и пароль, используя EditText

Получить ширину и высоту экрана

Как я могу получить ширину и высоту экрана для использования этого значения в

@Override protected void onMeasure(int widthSpecId, int heightSpecId) { Log.e(TAG, "onMeasure" + widthSpecId); setMeasuredDimension(SCREEN_WIDTH, SCREEN_HEIGHT - game.findViewById(R.id.flag).getHeight()); } 

Solutions Collecting From Web of "Получить ширину и высоту экрана"

Используя этот код, вы можете получить Display's Width & Height

 DisplayMetrics displayMetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); int height = displayMetrics.heightPixels; int width = displayMetrics.widthPixels; 

В представлении вам нужно сделать что-то вроде этого:

 ((Activity) getContext()).getWindowManager() .getDefaultDisplay() .getMetrics(displayMetrics); 

Существует очень простой ответ и без контекста передачи

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

И результат такой же, как @Parag Chauhan ответить

Просто обновить ответ с помощью parag и SpK для согласования с текущей совместимостью SDK от устаревших методов:

 int Measuredwidth = 0; int Measuredheight = 0; Point size = new Point(); WindowManager w = getWindowManager(); if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { w.getDefaultDisplay().getSize(size); Measuredwidth = size.x; Measuredheight = size.y; }else{ Display d = w.getDefaultDisplay(); Measuredwidth = d.getWidth(); Measuredheight = d.getHeight(); } 

Почему нет

DisplayMetrics displaymetrics = getResources (). GetDisplayMetrics ();

Затем используйте

DisplayMetrics.widthPixels (высотаPixels)

Попробуйте под кодом: –

1.

 Display display = getWindowManager().getDefaultDisplay(); Point size = new Point(); display.getSize(size); int width = size.x; int height = size.y; 

2.

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

или

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

3.

 DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics); metrics.heightPixels; metrics.widthPixels; 
 DisplayMetrics dimension = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dimension); int width = dimension.widthPixels; int height = dimension.heightPixels; 

// получить значение ширины и высоты экрана

  Display display = getWindowManager().getDefaultDisplay(); Point size = new Point(); display.getSize(size); width = size.x; height = size.y; 
 DisplayMetrics lDisplayMetrics = getResources().getDisplayMetrics(); int widthPixels = lDisplayMetrics.widthPixels; int heightPixels = lDisplayMetrics.heightPixels; 
 public class DisplayInfo { int screen_height=0, screen_width=0; WindowManager wm; DisplayMetrics displaymetrics; DisplayInfo(Context context) { getdisplayheightWidth(context); } void getdisplayheightWidth(Context context) { wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); displaymetrics = new DisplayMetrics(); wm.getDefaultDisplay().getMetrics(displaymetrics); screen_height = displaymetrics.heightPixels; screen_width = displaymetrics.widthPixels; } public int getScreen_height() { return screen_height; } public int getScreen_width() { return screen_width; } 

}

Методы, показанные здесь, устарели или устарели, но это все еще работает.

Проверить это

 Display disp= getWindowManager().getDefaultDisplay(); Point dimensions = new Point(); disp.getSize(size); int width = size.x; int height = size.y; 
 Display display = ((WindowManager) this.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); int mWidthScreen = display.getWidth(); int mHeightScreen = display.getHeight(); 

Просто используйте функцию ниже, которая возвращает ширину и высоту размера экрана в виде массива целых чисел

 private int[] getScreenSIze(){ DisplayMetrics displaymetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); int h = displaymetrics.heightPixels; int w = displaymetrics.widthPixels; int[] size={w,h}; return size; } 

В вашей функции onCreate или нажмите кнопку, чтобы добавить следующий код для вывода размеров экрана, как показано ниже.

  int[] screenSize= getScreenSIze(); int width=screenSize[0]; int height=screenSize[1]; screenSizes.setText("Phone Screen sizes \n\n width = "+width+" \n Height = "+height);