private void applyLayoutRecursive()

in android/src/main/java/com/facebook/yoga/android/YogaLayout.java [283:315]


  private void applyLayoutRecursive(YogaNode node, float xOffset, float yOffset) {
    View view = (View) node.getData();

    if (view != null && view != this) {
      if (view.getVisibility() == GONE) {
        return;
      }
      int left = Math.round(xOffset + node.getLayoutX());
      int top = Math.round(yOffset + node.getLayoutY());
      view.measure(
          View.MeasureSpec.makeMeasureSpec(
              Math.round(node.getLayoutWidth()),
              View.MeasureSpec.EXACTLY),
          View.MeasureSpec.makeMeasureSpec(
              Math.round(node.getLayoutHeight()),
              View.MeasureSpec.EXACTLY));
      view.layout(left, top, left + view.getMeasuredWidth(), top + view.getMeasuredHeight());
    }

    final int childrenCount = node.getChildCount();
    for (int i = 0; i < childrenCount; i++) {
      if (this.equals(view)) {
        applyLayoutRecursive(node.getChildAt(i), xOffset, yOffset);
      } else if (view instanceof YogaLayout) {
        continue;
      } else {
        applyLayoutRecursive(
            node.getChildAt(i),
            xOffset + node.getLayoutX(),
            yOffset + node.getLayoutY());
      }
    }
  }