private void collapseMargins(LayoutContext c) { if (! isTopMarginCalculated() || ! isBottomMarginCalculated()) { recalcMargin(c); RectPropertySet margin = getMargin(c); if (! isTopMarginCalculated() && ! isBottomMarginCalculated() && isVerticalMarginsAdjoin(c)) { MarginCollapseResult collapsedMargin = _pendingCollapseCalculation != null ? _pendingCollapseCalculation : new MarginCollapseResult(); collapseEmptySubtreeMargins(c, collapsedMargin); setCollapsedBottomMargin(c, margin, collapsedMargin); } else { if (! isTopMarginCalculated()) { MarginCollapseResult collapsedMargin = _pendingCollapseCalculation != null ? _pendingCollapseCalculation : new MarginCollapseResult(); collapseTopMargin(c, true, collapsedMargin); if ((int) margin.top() != collapsedMargin.getMargin()) { setMarginTop(c, collapsedMargin.getMargin()); } } if (! isBottomMarginCalculated()) { MarginCollapseResult collapsedMargin = new MarginCollapseResult(); collapseBottomMargin(c, true, collapsedMargin); setCollapsedBottomMargin(c, margin, collapsedMargin); } } } }
private void collapseMargins(LayoutContext c) { if (! isTopMarginCalculated() || ! isBottomMarginCalculated()) { recalcMargin(c); RectPropertySet margin = getMargin(c); if (! isTopMarginCalculated() && ! isBottomMarginCalculated() && isVerticalMarginsAdjoin(c)) { MarginCollapseResult collapsedMargin = _pendingCollapseCalculation != null ? _pendingCollapseCalculation : new MarginCollapseResult(); collapseEmptySubtreeMargins(c, collapsedMargin); setCollapsedBottomMargin(c, margin, collapsedMargin); } else { if (! isTopMarginCalculated()) { MarginCollapseResult collapsedMargin = _pendingCollapseCalculation != null ? _pendingCollapseCalculation : new MarginCollapseResult(); collapseTopMargin(c, true, collapsedMargin); if ((int) margin.top() != collapsedMargin.getMargin()) { setMarginTop(c, collapsedMargin.getMargin()); } } if (! isBottomMarginCalculated()) { MarginCollapseResult collapsedMargin = new MarginCollapseResult(); collapseBottomMargin(c, true, collapsedMargin); setCollapsedBottomMargin(c, margin, collapsedMargin); } } } }