Si je mets cela dans une classe d'activité, cela fonctionne parfaitement mais, quand je le mets dans ma classe App, la méthode getWindowManager()
ne peut pas être trouvée. Existe-t-il un moyen d'obtenir le WindowManager dans la classe d'application?
Ma classe d'application est définie comme suit:
public class myApp extends Application {
et dans la méthode de création, j'ai ceci:
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels;
DisplayMetrics dm = getResources().getDisplayMetrics();
int densityDpi = dm.densityDpi;
Vous pouvez également essayer ceci:
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
final DisplayMetrics displayMetrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(displayMetrics);
int height = displayMetrics.heightPixels;
int width = displayMetrics.widthPixels;
Essaye ça:
Display display = getWindowManager().getDefaultDisplay();
Log.e("", "" + display.getHeight() + " " + display.getWidth());
j'espère que cela fonctionnera pour vous
DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
int pxWidth = displayMetrics.widthPixels;
int pxHeight = displayMetrics.heightPixels;
final DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels;
int height = dm.heightPixels;
getWindow().setLayout((int) (width * .8), (int) (height * .5));