2010-09-18 20 views
0

J'ai la mise en page suivante définie:Lit la taille d'une mise en page dans Android

<LinearLayout> 
    <TextView /> 
    <RelativeLayout> 
    <TextView> 
    <Button> 
    <Button> 
    </RelativeLayout> 
<LinearLayout> 

maintenant je veux obtenir la hauteur de la RelativeLayout (je veux préciser la hauteur de ses enfants programatically):

View rel = findViewById(R.id.RelativeLayout01); 
int width = rel.getWidth(); 
int height = rel.getHeight(); 

mais le size returned is 0. Comment puis-je obtenir la taille de la RelativeLayout (c'est surtout pseudocode ci-dessus, mais les deux mise en page ont une hauteur/largeur « fill_parent » dans le fichier XML)

Répondre

4

Comment puis-je obtenir la taille de la RelativeLayout

Votre code est probablement OK, mais le timing est incorrect. Vous exécutez peut-être ce code dans onCreate(), ce qui est trop tôt, car les widgets n'ont pas encore été affichés à l'écran.

La réponse officielle est pour vous d'étendre RelativeLayout (ou, peut-être, ViewGroup) et implement your own layout rules, en utilisant measure() et layout().