Swipe To Dismiss Dialog

Additional

Language
Java
Version
N/A
Created
May 7, 2017
Updated
Jul 9, 2017
Owner
Andrei Lisun (andreilisun)
Contributors
Alex Isaienko (s0nerik)
Andrei Lisun (andreilisun)
2
Activity
Badge
Generate
Download
Source code
APK file

Show card

Swipe-To-Dismiss-Dialog

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

Demo

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.