diff --git a/Common/UI/ViewGroup.cpp b/Common/UI/ViewGroup.cpp index e40c5270ba..111a7f54fc 100644 --- a/Common/UI/ViewGroup.cpp +++ b/Common/UI/ViewGroup.cpp @@ -908,6 +908,8 @@ void AnchorLayout::Measure(const UIContext &dc, MeasureSpec horiz, MeasureSpec v void AnchorLayout::MeasureViews(const UIContext &dc, MeasureSpec horiz, MeasureSpec vert) { for (size_t i = 0; i < views_.size(); i++) { + if (views_[i]->GetVisibility() == V_GONE) + continue; Size width = WRAP_CONTENT; Size height = WRAP_CONTENT; @@ -1003,6 +1005,8 @@ static void ApplyAnchorLayoutParams(float measuredWidth, float measuredHeight, c void AnchorLayout::Layout() { for (size_t i = 0; i < views_.size(); i++) { + if (views_[i]->GetVisibility() == V_GONE) + continue; const AnchorLayoutParams *params = views_[i]->GetLayoutParams()->As(); Bounds vBounds; ApplyAnchorLayoutParams(views_[i]->GetMeasuredWidth(), views_[i]->GetMeasuredHeight(), bounds_, params, &vBounds);