web-gelistirme-sc.com

Fragment içinde ekran genişliğini ve yüksekliğini alın

Uygulamamdaki etkinliği arttırırsam genişlik ve yükseklik alabilirim:

DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int height = displaymetrics.heightPixels;
int wwidth = displaymetrics.widthPixels;

veya

Display display = getWindowManager().getDefaultDisplay(); 
stageWidth = display.getWidth();
stageHeight = display.getHeigth();

Ancak şu anda parçayı genişletiyorum ve yukarıdaki kodu genişliği elde etmek için kullanamıyorum.

16
pengwang

Değiştirilmiş kodunuzun altında deneyin

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

veya

Display display = getActivity().getWindowManager().getDefaultDisplay(); 
stageWidth = display.getWidth();
stageHeight = display.getHeigth();

Temel olarak, getActivity() işlevinden önce getWindowManager() (bağlamı elde etmek için) koymanız gerekir.

49
rajpara

Bu kod aynı zamanda Fragments ile de çalışır:

int width = getResources().getConfiguration().screenWidthDp;
int height = getResources().getConfiguration().screenHeightDp;

Oryantasyonu karşılaştırmak için:

if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE){...}
0
devB78

Bu size bağlam veya görüntülemeye ihtiyaç duymadan istediğinizi verecektir:

import Android.content.res.Resources;

int width = Resources.getSystem().getDisplayMetrics().widthPixels;

int height = Resources.getSystem().getDisplayMetrics().heightPixels;
0
Alex Jolig