diff --git a/lib/java/com/google/android/material/sidesheet/SideSheetBehavior.java b/lib/java/com/google/android/material/sidesheet/SideSheetBehavior.java index 70ec446a28d..442c5c3e14e 100644 --- a/lib/java/com/google/android/material/sidesheet/SideSheetBehavior.java +++ b/lib/java/com/google/android/material/sidesheet/SideSheetBehavior.java @@ -991,6 +991,31 @@ public void updateBackProgress(@NonNull BackEvent backEvent) { return; } sideContainerBackHelper.updateBackProgress(backEvent, getGravityFromSheetEdge()); + + updateCoplanarSiblingBackProgress(); + } + + private void updateCoplanarSiblingBackProgress() { + if (viewRef == null || viewRef.get() == null) { + return; + } + View sheet = viewRef.get(); + + View coplanarSiblingView = getCoplanarSiblingView(); + if (coplanarSiblingView == null) { + return; + } + + MarginLayoutParams coplanarSiblingLayoutParams = + (MarginLayoutParams) coplanarSiblingView.getLayoutParams(); + if (coplanarSiblingLayoutParams == null) { + return; + } + + int updatedCoplanarSiblingAdjacentMargin = (int) (childWidth * sheet.getScaleX() + innerMargin); + sheetDelegate.updateCoplanarSiblingAdjacentMargin( + coplanarSiblingLayoutParams, updatedCoplanarSiblingAdjacentMargin); + coplanarSiblingView.requestLayout(); } @Override