2017-06-24 2 views
0

J'ai un ViewGroup qui contient un enfant (ImageButton). Je veux que viewGroup ait la taille exacte de son fils.Mesurer la taille de ViewGroup

@Override 
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 

     int desiredWidth = getChildAt(0).getMeasuredWidth(); 
     int desiredHeight = getChildAt(0).getMeasuredHeight(); 

     int width = resolveSize(desiredWidth,widthMeasureSpec); 
     int height = resolveSize(desiredHeight,heightMeasureSpec); 

     setMeasuredDimension(width,height); 
    } 

Je reçois la taille des enfants (ImageButton) par getMeasuredWidth() et getMeasuredWidth(), mais ils retournent la valeur 0.

+0

Veuillez poster un [mcve]. –

Répondre

0

Vous n'avez pas mesuré la vue enfant, donc sa largeur et sa hauteur ne sont pas définies (pour le moment).

Appelez super.onMeasure(...) dans votre méthode pour laisser votre super classe mesurer l'enfant, ou faites-le vous-même en appelant child.measure(widthMeasureSpec, heightMeasureSpec).