web-dev-qa-db-fra.com

Quelle est la différence entre getMeasuredHeight et getHeight

J'essaie d'appeler View.getMeasuredHeight et View.getHeight dans onGlobalLayout. Les deux me donnent le même résultat.

Je me demandais, dans quelle situation leur valeur sera différente? Y a-t-il un exemple pour le démontrer?

J'ai essayé de chercher dans google. Le 1er résultat ne semble pas pertinent pour cette question: Android: Comment obtenir la hauteur et la largeur d'une vue personnalisée?

48
Cheok Yan Cheng

Lorsque vous utilisez une vue, elle impose certaines limitations de taille à ses éléments enfants. Ces limitations peuvent empêcher un élément enfant de prendre la quantité d'espace qu'il souhaite.

la documentation de la classe View décrit ces propriétés comme suit:

La taille d'une vue est exprimée avec une largeur et une hauteur. Une vue possède en réalité deux paires de valeurs de largeur et de hauteur.

La première paire est connue sous le nom de largeur et hauteur mesurées. Ces dimensions définissent la taille d'une vue à l'intérieur de son parent (voir Présentation pour plus de détails.) Les dimensions mesurées peuvent être obtenues en appelant getMeasuredWidth () et getMeasuredHeight ().

La deuxième paire est simplement appelée largeur et hauteur, ou parfois largeur et hauteur de dessin. Ces dimensions définissent la taille réelle de la vue à l'écran, au moment du dessin et après la mise en page. Ces valeurs peuvent, mais ne doivent pas nécessairement, être différentes de la largeur et de la hauteur mesurées. La largeur et la hauteur peuvent être obtenues en appelant getWidth () et getHeight ().

Voir aussi: http://developer.Android.com/guide/topics/ui/how-Android-draws.html

72
Dan Bechard