From 687e73590de5ea219a14a336094002b9d3884af5 Mon Sep 17 00:00:00 2001 From: conradchen Date: Fri, 10 Jun 2022 07:52:24 -0700 Subject: [PATCH] [TopAppBar] Exclude gone views from scroll range calculation Resolves https://github.com/material-components/material-components-android/issues/2709 PiperOrigin-RevId: 454163860 --- lib/java/com/google/android/material/appbar/AppBarLayout.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/java/com/google/android/material/appbar/AppBarLayout.java b/lib/java/com/google/android/material/appbar/AppBarLayout.java index d883dde10de..07292b60f5c 100644 --- a/lib/java/com/google/android/material/appbar/AppBarLayout.java +++ b/lib/java/com/google/android/material/appbar/AppBarLayout.java @@ -677,6 +677,10 @@ public final int getTotalScrollRange() { int range = 0; for (int i = 0, z = getChildCount(); i < z; i++) { final View child = getChildAt(i); + if (child.getVisibility() == GONE) { + // Gone views should not be included in the scroll range calculation. + continue; + } final LayoutParams lp = (LayoutParams) child.getLayoutParams(); final int childHeight = child.getMeasuredHeight(); final int flags = lp.scrollFlags;