How to disable snackbar's swipe-to-dismiss behavior

后端 未结 6 1653
执念已碎
执念已碎 2020-12-05 18:52

Is there a way to prevent the user from dismissing a snackbar by swiping on it?

I have an app that shows a snack bar during network login, I want to avoid it to be d

6条回答
  •  眼角桃花
    2020-12-05 19:42

    This worked for me :

    Snackbar snackbar = Snackbar.make(findViewById(container), R.string.offers_refreshed, Snackbar.LENGTH_LONG);
        final View snackbarView = snackbar.getView();
        snackbar.show();
    
        snackbarView.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
            @Override
            public boolean onPreDraw() {
                snackbarView.getViewTreeObserver().removeOnPreDrawListener(this);
                ((CoordinatorLayout.LayoutParams) snackbarView.getLayoutParams()).setBehavior(null);
                return true;
            }
        });
    

    Good luck! :)

提交回复
热议问题