2016-06-09 12 views

Antwort

3

ConstraintLayout erfordert bis zu zwei Messdurchgänge.

Wenn Sie sich die Quelle ConstraintLayout ansehen, werden Sie sehen, dass ihre Methode onMeasure() ihre Kinder innerhalb einer internalMeasureChildren()-Hilfsmethode misst. Als nächstes wertet es einige Einschränkungen aus. Schließlich ruft ConstraintLayoutchild.measure() auf seinen Kindern ein zweites Mal innerhalb einer Schleife auf.

Quelle: dekompilierte die Klassendateien, da die Quelle zu diesem Zeitpunkt nicht verfügbar ist.

+0

Woher bekomme ich diese Quellen? – Zielony

+1

Es wird nicht jedes Mal zweimal gemessen. Es muss nur zweimal für Kinder gemessen werden, deren Breite sich ändern kann (weil es die Höhe beeinflussen könnte). –

+0

@Zielony, habe ich die Klassendatei dekompiliert, da die Quelle noch nicht verfügbar ist. –