Comment puis-je obtenir la largeur et la hauteur maximales d'un appareil sous Android
Question
Bonjour, je rencontre un problème pour créer une vue personnalisée pour une application Android. Ma vue personnalisée veut utiliser si elle est autorisée la largeur d'écran maximale. Je n'ai trouvé aucun moyen de récupérer cette valeur.
Quelqu'un peut-il m'indiquer la bonne méthode?
La solution
Essayez
mWinMgr = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);
int displayWidth = mWinMgr.getDefaultDisplay().getWidth();
où contexte est une instance Context
.
Par défaut, le FrameLayout
dans lequel votre mise en page est conservée remplit tout l’affichage horizontalement (verticalement, vous pouvez avoir une barre d’état). Vous pouvez donc définir la largeur maximale possible en utilisant android: layout_width = " fill_parent "
correctement.
Autres conseils
Voici une bonne réponse :
Les méthodes mWinMgr.getDefaultDisplay (). getWidth ();
// getWidth () et getHeight () sont désormais obsolètes
Vous pouvez obtenir la largeur et la hauteur comme suit: d'origine
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
DisplayMetrics size = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(size );
int w = size .widthPixels;
int h = size .heightPixels;
WindowManager window = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics dm = new DisplayMetrics();
window.getDefaultDisplay().getMetrics(dm);
devicewidth = (dm.widthPixels);