/Swipe-To-Dismiss-Dialog

Android library which can turn any View into a draggable dialog with swipe to dismiss feature.

Primary LanguageJava

Swipe-To-Dismiss-Dialog Download License

Android library which can turn any View into a draggable dialog with swipe to dismiss feature.

Demo

Swipe Dismiss Success Dialog

Swipe Dismiss Dialog with input

Swipe Dismiss Dialog with keyboard

Download

Add this line to the build.gradle of your module:

compile 'com.github.andreilisun:swipedismissdialog:0.1'

How to use

Basic

  • Set View
View dialog = LayoutInflater.from(this).inflate(R.layout.dialog_add_user, null);
new SwipeDismissDialog.Builder(this)
                .setView(dialog)
                .build()
                .show();
  • From layout resource
new SwipeDismissDialog.Builder(this)
                .setLayoutResId(R.layout.dialog_success_booking)
                .build()
                .show();

Callbacks

Listen for the canceled by tap outside/back pressed events:

.setOnCancelListener(new OnCancelListener() {
    @Override
    public void onCancel(View view) {
        Toast.makeText(MainActivity.this, "Canceled", Toast.LENGTH_SHORT).show();
    }
})

Listen for the swipe dismiss event:

.setOnSwipeDismissListener(new OnSwipeDismissListener() {
                    @Override
                    public void onSwipeDismiss(View view, SwipeDismissDirection direction) {
                        Toast.makeText(MainActivity.this, "Swipe dismissed to: " + direction, Toast.LENGTH_SHORT).show();
                    }
                })

Customization

You can set some parameters:

//Set fling gesture velocity. Range [0.0 - 1.0] 
//Default is 0.1f
.setFlingVelocity(0.07f)  
//Set horizontal oscillation. Range[0.0-35.0]
//Default is 35f
//This is the max rotation angle value
.setHorizontalOscillation(35f)
//Set overlay background color. Default is #80444444
.setOverlayColor(Color.parseColor("#80FF0000"))

License

Copyright 2017 Lisun Andrii
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.