@Override public void removeAllViews(ReactViewGroup parent) { boolean removeClippedSubviews = parent.getRemoveClippedSubviews(); if (removeClippedSubviews) { parent.removeAllViewsWithSubviewClippingEnabled(); } else { parent.removeAllViews(); } }
@Override public View getChildAt(ReactViewGroup parent, int index) { boolean removeClippedSubviews = parent.getRemoveClippedSubviews(); if (removeClippedSubviews) { return parent.getChildAtWithSubviewClippingEnabled(index); } else { return parent.getChildAt(index); } }
@Override public int getChildCount(ReactViewGroup parent) { boolean removeClippedSubviews = parent.getRemoveClippedSubviews(); if (removeClippedSubviews) { return parent.getAllChildrenCount(); } else { return parent.getChildCount(); } }
@Override public void addView(ReactViewGroup parent, View child, int index) { boolean removeClippedSubviews = parent.getRemoveClippedSubviews(); if (removeClippedSubviews) { parent.addViewWithSubviewClippingEnabled(child, index); } else { parent.addView(child, index); } }
@Override public void removeViewAt(ReactViewGroup parent, int index) { boolean removeClippedSubviews = parent.getRemoveClippedSubviews(); if (removeClippedSubviews) { View child = getChildAt(parent, index); if (child.getParent() != null) { parent.removeView(child); } parent.removeViewWithSubviewClippingEnabled(child); } else { parent.removeViewAt(index); } }
@Override public void onLayoutChange( View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) { if (mParent.getRemoveClippedSubviews()) { mParent.updateSubviewClipStatus(v); } }