Ejemplo n.º 1
0
  private static void updateSizesFromChild(
      DimensionInfo info, boolean min, int[] widths, Container container, int childIndex) {
    GridLayoutManager childLayout = (GridLayoutManager) container.getLayout();
    if (info.getSpan(childIndex) == info.getChildLayoutCellCount(childLayout)) {
      childLayout.validateInfos(container);
      DimensionInfo childInfo =
          info instanceof HorizontalInfo
              ? childLayout.myHorizontalInfo
              : childLayout.myVerticalInfo;
      int[] sizes = childLayout.getMinOrPrefSizes(childInfo, min);
      int cell = info.getCell(childIndex);

      for (int j = 0; j < sizes.length; ++j) {
        widths[cell + j] = Math.max(widths[cell + j], sizes[j]);
      }
    }
  }