feat:QMUIBottomSheet add OnBottomSheetStateListener

This commit is contained in:
liuyesuifen
2022-07-12 21:55:02 +08:00
parent 761488d5ea
commit 9933bb9671
2 changed files with 13 additions and 1 deletions
@@ -13,7 +13,7 @@ object Dep {
object QMUI {
const val group = "com.qmuiteam"
const val qmuiVer = "2.1.0.8"
const val qmuiVer = "2.1.0.9"
const val archVer = "2.1.0.3"
const val typeVer = "0.1.0.5"
@@ -67,6 +67,7 @@ public class QMUIBottomSheet extends QMUIBaseDialog {
private QMUIBottomSheetRootLayout mRootView;
private OnBottomSheetShowListener mOnBottomSheetShowListener;
private OnBottomSheetSlideListener mOnBottomSheetSlideListener;
private OnBottomSheetStateListener mOnBottomSheetStateListener;
private QMUIBottomSheetBehavior<QMUIBottomSheetRootLayout> mBehavior;
private boolean mAnimateToCancel = false;
private boolean mAnimateToDismiss = false;
@@ -85,6 +86,9 @@ public class QMUIBottomSheet extends QMUIBaseDialog {
mBehavior.addBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() {
@Override
public void onStateChanged(@NonNull View bottomSheet, int newState) {
if (mOnBottomSheetStateListener != null) {
mOnBottomSheetStateListener.onStateChanged(newState);
}
if (newState == BottomSheetBehavior.STATE_HIDDEN) {
if (mAnimateToCancel) {
// cancel() invoked
@@ -213,6 +217,10 @@ public class QMUIBottomSheet extends QMUIBaseDialog {
mOnBottomSheetSlideListener = onBottomSheetSlideListener;
}
public void setOnBottomSheetStateListener(OnBottomSheetStateListener onBottomSheetStateListener) {
mOnBottomSheetStateListener = onBottomSheetStateListener;
}
public void setRadius(int radius) {
mRootView.setRadius(radius, HIDE_RADIUS_SIDE_BOTTOM);
}
@@ -255,6 +263,10 @@ public class QMUIBottomSheet extends QMUIBaseDialog {
void onSlide(float slideOffset);
}
public interface OnBottomSheetStateListener {
void onStateChanged(int newState);
}
@Override
public void setContentView(View view) {
throw new IllegalStateException(