In meiner Aktivität onCreate()
Methode habe ich eine View
erstellt und hartcoded seine Breite und Höhe gleich 50. Dann rufe ich measure
Methode. Danach erwarte ich, dass getMeasuredWidth()
zurückkehrt 50. Aber es 0.Warum gibt getMeasuredWidth() 0 zurück?
View v = new View(this);
v.setLayoutParams(new ViewGroup.LayoutParams(50, 50));
final int spec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
v.measure(spec, spec);
final int w = v.getMeasuredWidth();
Log.e("aaa", String.valueOf(w)); // output is 0
kehrt Was mache ich falsch? Wie kann ich die gemessene Ansichtsgröße errechnen? Ich will nicht, bis sie gezogen wurde, usw.
möchten Sie vielleicht noch einmal die Dokumentation von 'makeMeasureSpec' lesen – Blackbelt