Dopo aver misurato una View
con dimensioni costanti con view.measure()
, il getMeasuredHeight()
e getMeasureWidth()
sta tornando 0.getmeasuredheight() e getmeasuredwidth() restituisce 0. View.measure()
layout_view.xml, disposizione che viene gonfiato per creare la vista
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="100dp"
android:layout_height="100dp">
</FrameLayout>
funzione che misura le dimensioni
public void measureView(Context context){
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.layout_view,null,false);
view.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
Log.d(TAG,"Error width : " + view.getMeasuredWidth());
Log.d(TAG,"Error heeght : " + view.getMeasuredHeight());
}
vedere questo http: // stackoverflow.it/questions/14592930/getwidth-returns-0-if-set-by-androidlayout-width-match-parent –
@GiruBhai Ho provato a utilizzare ViewTreeObserver, anche questo non funziona – SathMK
'View.MeasureSpec. *' non può essere utilizzato direttamente, controlla la mia risposta qui sotto. –