2017-06-24 2 views
0

Ich habe eine ViewGroup mit einem Kind (ImageButton). Ich möchte die ViewGroup hat die genaue Größe des Kindes.Größe der ViewGroup messen

@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); 
    } 

ich Kinder Größe (Image) von getMeasuredWidth() und getMeasuredWidth(), aber sie zurückkehren 0 Wert.

+0

Bitte poste ein [mcve]. –

Antwort

0

Sie haben die untergeordnete Ansicht nicht gemessen, daher sind Breite und Höhe (noch) nicht festgelegt.

Rufen Sie entweder super.onMeasure(...) in Ihrer Methode an, damit Ihre Superklasse das Kind messen kann, oder tun Sie es selbst, indem Sie child.measure(widthMeasureSpec, heightMeasureSpec) anrufen.