Android library which can turn any View into a draggable dialog with swipe to dismiss feature.
Add this line to the build.gradle
of your module:
compile 'com.github.andreilisun:swipedismissdialog:0.1'
- 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();
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();
}
})
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"))
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.