From 818b99da62b11175063b1223d5ba76031277eb9b Mon Sep 17 00:00:00 2001 From: Ricardo Lage Date: Tue, 28 Aug 2018 19:18:37 +0200 Subject: [PATCH 1/2] Add option to disable collapsed state --- .../AnchorBottomSheetBehavior.java | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/library/src/main/java/com/trafi/anchorbottomsheetbehavior/AnchorBottomSheetBehavior.java b/library/src/main/java/com/trafi/anchorbottomsheetbehavior/AnchorBottomSheetBehavior.java index 0424bce..af1bd29 100644 --- a/library/src/main/java/com/trafi/anchorbottomsheetbehavior/AnchorBottomSheetBehavior.java +++ b/library/src/main/java/com/trafi/anchorbottomsheetbehavior/AnchorBottomSheetBehavior.java @@ -179,6 +179,8 @@ public void onSlide(@NonNull View bottomSheet, float slideOffset) { private boolean mSkipCollapsed; + private boolean mDisableCollapsed; + private boolean mDisableExpanded; @AnchorBottomSheetBehavior.State @@ -288,9 +290,8 @@ public boolean onLayoutChild(CoordinatorLayout parent, V child, int layoutDirect peekHeight = mPeekHeight; } mMinOffset = Math.max(0, mParentHeight - child.getHeight()); - if (mDisableExpanded) { - mMinOffset = mAnchorOffset; - } + updateConstraints(); + mMaxOffset = Math.max(mParentHeight - peekHeight, mMinOffset); if (mState == STATE_EXPANDED) { ViewCompat.offsetTopAndBottom(child, mMinOffset); @@ -534,9 +535,7 @@ public final void setAnchorOffset(int anchorOffset) { if (mAnchorOffset != anchorOffset) { mAnchorOffset = anchorOffset; - if (mDisableExpanded) { - mMinOffset = mAnchorOffset; - } + updateConstraints(); if (mState == STATE_ANCHORED) { setStateInternal(STATE_SETTLING); @@ -545,6 +544,16 @@ public final void setAnchorOffset(int anchorOffset) { } } + private void updateConstraints() { + if (mDisableExpanded) { + mMinOffset = mAnchorOffset; + } + + if (mDisableCollapsed) { + mPeekHeight = mAnchorOffset; + } + } + /** * Gets the offset of the bottom sheet when it is anchored. * @@ -597,6 +606,14 @@ public boolean getSkipCollapsed() { return mSkipCollapsed; } + public boolean isDisableCollapsed() { + return mDisableCollapsed; + } + + public void setIsDisableCollapsed(boolean disableCollapsed) { + this.mDisableCollapsed = disableCollapsed; + } + public boolean isDisableExpanded() { return mDisableExpanded; } From 6e4579c6c30130a857364674c685f1091627ce8f Mon Sep 17 00:00:00 2001 From: Ricardo Lage Date: Tue, 28 Aug 2018 19:30:30 +0200 Subject: [PATCH 2/2] Fix name --- .../anchorbottomsheetbehavior/AnchorBottomSheetBehavior.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/src/main/java/com/trafi/anchorbottomsheetbehavior/AnchorBottomSheetBehavior.java b/library/src/main/java/com/trafi/anchorbottomsheetbehavior/AnchorBottomSheetBehavior.java index af1bd29..aad9f67 100644 --- a/library/src/main/java/com/trafi/anchorbottomsheetbehavior/AnchorBottomSheetBehavior.java +++ b/library/src/main/java/com/trafi/anchorbottomsheetbehavior/AnchorBottomSheetBehavior.java @@ -610,8 +610,8 @@ public boolean isDisableCollapsed() { return mDisableCollapsed; } - public void setIsDisableCollapsed(boolean disableCollapsed) { - this.mDisableCollapsed = disableCollapsed; + public void setDisableCollapsed(boolean mDisableCollapsed) { + this.mDisableCollapsed = mDisableCollapsed; } public boolean isDisableExpanded() {